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 回答