ネットワーク ドライブにファイルを作成する必要があるアプリケーションの要件がありますが、ファイルの作成中にネットワークが切断された場合、アプリケーションがしばらくハングして例外がスローされます。
タイムアウトを設定する方法はありますFile.Create
か?
ネットワーク ドライブにファイルを作成する必要があるアプリケーションの要件がありますが、ファイルの作成中にネットワークが切断された場合、アプリケーションがしばらくハングして例外がスローされます。
タイムアウトを設定する方法はありますFile.Create
か?
そのようなものを使用して、タイムアウトを手動で実装できます。
var fileCreatingThread = new Thread(...);
fileCreatingThread.Start();
if (fileCreatingThread.Join(TimeSpan.FromSeconds(5)) { /* Worked correctly */}
else
{
// time-out
}
File.Create()のネットワークタイムアウトを設定する方法がわかりません。これはフレームワークに組み込まれている可能性があり、オペレーティングシステム自体に組み込まれている可能性があります。
ファイルを作成する前にネットワーク接続を確立してみてください。たぶん、ターゲットにpingを送信するか、ソケットを開きますか?これが失敗した場合は、ファイルを作成しようとしないでください。成功した場合、セキュリティ上の問題がない限り、ファイルの作成が完了する可能性が高くなります。