問題タブ [fileshare]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
16865 参照

c# - C#ファイルの読み取り/書き込みファイル共有が機能していないようです

私の質問は、私があまりできない多くのレガシーコードを継承することに基づいています。基本的に、私はデータのブロックを生成するデバイスを持っています。そのデータのブロックを作成するためにデバイスを呼び出すライブラリは、何らかの理由で私は完全には理解しておらず、変更したくても変更できず、そのデータのブロックをディスクに書き込みます。

この書き込みは瞬時ではありませんが、最大90秒かかる場合があります。そのとき、ユーザーは生成されているデータの部分的なビューを取得したいので、他のライブラリがディスクに書き込んでいるデータを読み取るコンシューマースレッドが必要です。

このレガシーコードに触れる前に、私が完全に制御するコードを使用して問題を模倣したいと思います。私はC#を使用していますが、これは表面上、必要な機能が多数提供されているためです。

プロデューサークラスでは、ランダムなデータブロックを作成する次のコードがあります。

ここまでは順調ですね。このコードは機能します。現在のバージョン(FileStreamとBinaryWriterを使用)は、同じオプションでFile.Openを使用し、ushort []のBinaryFormatterをディスクに書き込むのと同等のようです(ただし、コピーのために遅くなります)。

しかし、次にコンシューマースレッドを追加します。

これで、NewArrayの宣言が壊れて、ある種の読み取りオーバーフローが発生する可能性があります。ただし、このコードは、別のプロセスがファイルを開いたことを示すSystem.IO.IOExceptionを使用して新しいFileStreamを開こうとすると常に中断するため、それほど遠くまでは行きません。

MSDNのFileStreamドキュメントに記載されているようにFileAccessとFileShareの列挙を設定していますが、やりたいこと(つまり、あるスレッドでの書き込み、別のスレッドでの読み取り)ができないようです。このアプリケーションは少し変わっていることに気づきましたが、実際のデバイスを使用する場合は、同じことを行う必要がありますが、MFCを使用します。

とにかく、私は何を忘れていますか?ドキュメントで可能な限り指定されているので、私がやりたいことは可能ですか?

ありがとう!mmr

0 投票する
3 に答える
2870 参照

c# - C# で非表示の共有を読み取る

そのため、ネットワーク上の複数のマシンのディレクトリの内容を定期的にチェックする必要がある小さな C# アプリがあります。ディレクトリ パスとして \hostname\C$ を読み取ることができると思っていましたが、通常の Directory クラスでは、他のサーバーに対して認証する方法がないように思われるため、非表示の共有にアクセスできます。私が見落としていたこれを行う簡単な方法があると確信していますが、現時点では少し困惑しています。

0 投票する
3 に答える
3980 参照

c# - ダウンロード中に Windows Media Player で大きなファイルを再生する

私の質問は、ネットワークからダウンロードされているハード ドライブにビデオ ファイルを書き込み、Windows Media Player を使用して同時に再生することについてです。ファイルはかなり大きく、ダウンロードに時間がかかります。Windows Media Player に直接ストリーミングするだけでなく、ダウンロードする必要があります。

何が起こるかというと、自分のテスト コードからビデオ ファイルへの書き込みと読み取りを同時に行うことはできますが、Windows Media Player を使用してそれを行うことはできません (少なくとも、私はそれを理解していません)。Amazon Unbox のダウンロードがそれを行うので、それが可能であることはわかっています。Unbox を使用すると、ダウンロード中に WMV を再生できます。Unbox は .NET で書かれているので...

FileShare フラグを使用してファイルを開くための「C# ファイルの読み取り/書き込みファイル共有が機能していないようです」の質問と回答を読みました。しかし、それは私にとってはうまくいきません。Process Monitor は、Media Player が Fileshare フラグを使用してファイルを開いていることを示していますが、エラーになります。

バッファリングスレッドには、ネットワークからファイルを読み取ってファイルに書き込むための次のコードがあります(エラー処理や読みやすくするためのその他のものはありません)。

これはうまくいくようです。ファイルはディスクに書き込み、適切な権限を持っています。

しかし、その後、ビデオを再生するためのイベント ハンドラーが他のスレッドに用意されています。

Windows Media Player は、ファイルを開いていることを示してから、「別のプロセスで既に開かれています」というファイルを開くことができないというエラーで停止します。

考えられることはすべて試しました。私は何が欠けていますか?アマゾンの人たちがこれをできるなら、私もできますよね?

編集: このコードは mplayer、VLC、および Media Player Classic で動作します。Windows Media Player や Windows Media Center プレーヤーではありません。IOW、私が彼らと一緒に仕事をする必要がある唯一のプレーヤー。うーん!

edit2: MiniHttp を使用してビデオを Windows Media Player にストリーミングし、ダウンロード中のビデオを再生するために WMP を「だます」かどうかを確認するところまで行きました。何もしていません。WMP がファイルを開いている間、再生を開始する前に mpeg ファイルが完全にコピーされるまで待機していました。それはどのように知っていますか?

edit3:掘り下げた後、問題を発見しました。MPEG2ファイルを扱っています。問題は必ずしも Windows Media Player にあるとは限りませんが、再生とダウンロードを同時に行おうとしている MPEG2 ファイルを開くために WMP が使用する Microsoft MPEG2 DirectShow Splitter に問題があります。スプリッターはファイルを非共有モードで開きます。WMV ファイルではそうではありません。WMP はそれらを共有モードで開き、すべてが期待どおりに機能します。

0 投票する
2 に答える
920 参照

iis - IISが仮想ディレクトリをファイル共有に移動すると、ログオンしているユーザーのなりすましが中断されます

クライアントブラウザから渡されたNTクレデンシャルを使用するために、Windows認証とImpersonate=trueを使用してイントラネットWebサイトを実行しているIIS6のインスタンスがあります。AppPoolは、ネットワークサービスユーザーserviceAcctXとして実行するように設定されているため、まれになりすましを元に戻すことができます(クライアントユーザーがアクセスできないリソースの読み取りまたは書き込み)。

仮想ディレクトリのソースがローカルドライブ上にある場合、これは完全に機能します。ログインしたユーザーは認証され、ページのコンテンツは認証設定に基づいてカスタマイズされます。

私たちのインフラストラクチャチームは、仮想ディレクトリソースをリモートサーバー上のファイル共有に移動しようとしています。特定のファイル共有パスに完全な信頼を追加することで、.Netセキュリティポリシーの変更に関する問題をすでに解決しています。Connect Asプロパティを、AppPoolが実行されているのと同じserviceAcctXに設定しました。

サイトは正常に開始されます。ただし、クライアントユーザーは偽装されていません。リクエストは、以前のようにクライアントのNTクレデンシャルではなく、デフォルトのserviceAcctXクレデンシャルを使用して処理されます。

クライアントの偽装を以前と同じように機能させ、ファイル共有に仮想ディレクトリを保持する方法はありますか?どんなポインタでも大歓迎です。

0 投票する
1 に答える
15849 参照

windows-server-2003 - Windows 2003 で [共有] タブが表示されない

Windows 2003 のドライブまたはフォルダーのプロパティ内に共有タブが表示されません。

http://forums.tweakguides.com/showthread.php?t=5771

ただし、フォルダー オプションで簡易共有を無効にするオプションはなく、開始を推奨するサービス (コンピューター ブラウザー、ネットワーク接続、サーバー、およびワークステーション) はうまく機能しません。何か案は?

0 投票する
5 に答える
3839 参照

c# - C#/.NET で MAX_PATH を超えるファイルにアクセスする

バックグラウンド

あるサーバーから別のサーバーにネットワーク経由でファイルを移行するには、最大で .NET バージョン 2.0 を使用するツールを作成する必要があります (このクライアントでは、政治的、商業的、および機密性/信頼上の理由から、市販のものを使用することはできません)。サーバーはローカル チーム用のファイル サーバーであり、再編成を容易にするために、特定のチーム フォルダーを他のサーバーに移行する必要があります。基本的な考え方は、各ファイルを読み取り、数時間のうちにネットワーク経由でストリーミングし、数日後にデータが移行されるというものです。ファイルのアクセス許可を保持する必要があります。これには数日かかるため (一部のチームでは最大で数ギガバイトのデータについて話している)、毎晩ファイルを繰り返し処理し、変更日を比較して、変更された日付を更新する必要があります。理論的には、最終的に新しいサーバーにはファイルの最新のコピーがあり、ユーザーは新しいサーバーに切り替えることができます。もちろん、これほど単純ではありませんが、機能すると思われる設計があります:)

問題

理論的には、ファイルを開いてネットワーク経由でストリーミングし、反対側で書き込むだけですよね? :)

残念ながら、サーバー自体では、ファイル共有は次のようなフォルダー パスに作成されました。

D:\Data\Team Shares\DIVISION\DEPARTMENT\NAME OF TEAM - かなり長い可能性があります\

ユーザーごとに、このパスはドライブにマップされます。たとえば、\\SERVER\TEAMNAME として共有され、T: ドライブにマップされます。

これにより、T: ドライブから表示されるファイルがMAX_PATH制限内にあるという状況が発生しましたが、サーバー自体でローカルに表示すると、制限をはるかに超えてしまいます。ネットワーク共有を使用してファイルにアクセスすることはできません。このツールは、何百ものこれらのサーバーで実行するために汎用的である必要があり、どのファイル共有が移動する必要があるか、そうでないかを判断する標準的な方法がないためです。命名規則標準すらありません。また、たまに他のシェアのサブシェアもあり、MAX_PATH制限を2倍オーバー!

「\\?\」プレフィックスを使用してパスを指定する回避策を認識しています。これにより、パスが UNC パスとして扱われ、理論上の最大文字数は 32k 文字になります。

この回避策は Win32 API レベルで実装されています。System.IO 名前空間は (ほとんどの場合) 基本的にネイティブの Win32 API 関数の薄いラッパーにすぎませんが、Microsoft は呼び出しを API に渡す前に追加の (間違った) 検証を「役立つように」実装しています。 . この場合、.NET Framework はパスを拒否しています。は無効なパス文字です。

だから私の質問は...私が考えていなかった方法で、System.IO名前空間のほぼ全体を完全に書き直し、P/Invoke呼び出しを大量に行うことなく、これを回避できる方法はありますか?この厄介な検証を削除しますか?

0 投票する
2 に答える
700 参照

excel - Regular Expression validating hyperlink for export to Excel

I have a web application that takes input from a user, usually in the form of a filepath, hyperlink, or fileshare, but not always. A user may enter "\my.fileshare.com", "http://www.msdn.com", or "In my file cabinent". These inputs are exported to a Excel file. However, if the input is in the form of "\look on my desk" or "http://here it is" (notice the spaces), after the file is exported, and opened, Excel raises the ever so descriptive error message of, and I quote, "Error".

I'm adding to the existing code a regular expression validator to the textbox the user enters and edits these locations in. Because there are a large number of existing entries, the validator needs to be specific as possible, and only toss out the inputs that cause the Excel export to break. For example "\Will Work" will work, as will "Will Work", and "\This\will also work". I need a regular expression that if the string starts with \, http://, https://, ftp://, ftps://, the server or fileshare name does not have a space in it, and if it does not start with the \, http://, https://, ftp://, ftps://, its fine regardless.

I've been able to write the first part ^(\\)[^ \]+(\.)$|^(((ht|f)tp(s)?)://)[^ /]+(/.)$

but I can't figure out how to say ignore everything if it does not start with \, http://, https://, ftp://, ftps://.

0 投票する
7 に答える
2219 参照

c++ - ツール チェーンなしで Eclipse を使用する C++?

Linux でビルドする必要がある C++ プロジェクトがありますが、あらゆる種類の GUI を実行するように Linux マシンをセットアップしていません (すべてモニターがありません)。問題は、Eclipse を使用して、ファイル共有を介して開発し、SSH を介してビルドすることはできますか? 私はこれを行ってきましたが、多くの摩耗を加えることは別としてalt+tab、唯一の問題は、オートコンプリートが正しく機能しないことです。表示されるエラー メッセージに基づいて、これは、コンパイラまたはインクルード ディレクトリが接続されていないことが原因だと思います。

このタイプのセットアップで作業した経験のある人はいますか?


人々は、私の問題の「物事をシームレスにする方法」に注目しているようです。私がもっと興味を持っているのは、「Eclipse の編集機能をまったく同じように機能させる方法」です。

「Linux で開発するようにセットアップする」ことになる提案された解決策はすべて、問題よりも悪いものです (問題はほとんどが初期の問題であり、必要に応じて回避できます)。

0 投票する
2 に答える
485 参照

iphone - iPhone アプリケーションの特定の IP ロケーションを取得する

私は次のリンクを通過しました

http://zachwaugh.com/2009/03/programmatically-retrifying-ip-address-of-iphone/

これも試しました(ただし、これはAppleによって認識されていません)。

http://appsamuck.com/day4.html

ユーザーが「wifi」ボタンをタップしたときにそれが欲しいだけです。

ドキュメント ディレクトリに保存されているレポートは、iPhone アプリケーションに表示する IP を使用して、Wi-Fi を使用して他の PC からアクセスできます。それはどのように可能ですか?

0 投票する
2 に答える
19171 参照

html - ブラウザ以外で開いていることを確認してください