5

ネットワーク ドライブにファイルを作成する必要があるアプリケーションの要件がありますが、ファイルの作成中にネットワークが切断された場合、アプリケーションがしばらくハングして例外がスローされます。

タイムアウトを設定する方法はありますFile.Createか?

4

2 に答える 2

2

そのようなものを使用して、タイムアウトを手動で実装できます。

var fileCreatingThread = new Thread(...);
fileCreatingThread.Start();
if (fileCreatingThread.Join(TimeSpan.FromSeconds(5)) { /* Worked correctly */}
else
{
    // time-out
}
于 2011-03-24T12:40:17.297 に答える
0

File.Create()のネットワークタイムアウトを設定する方法がわかりません。これはフレームワークに組み込まれている可能性があり、オペレーティングシステム自体に組み込まれている可能性があります。

ファイルを作成する前にネットワーク接続を確立してみてください。たぶん、ターゲットにpingを送信するか、ソケットを開きますか?これが失敗した場合は、ファイルを作成しようとしないでください。成功した場合、セキュリティ上の問題がない限り、ファイルの作成が完了する可能性が高くなります。

于 2011-03-24T12:46:25.670 に答える