我的应用程序有一个要求,我需要在网络驱动器中创建文件,但是如果网络断开连接的应用程序挂起一段时间并引发异常,则在进行文件创建时。
有什么办法可以设置超时File.Create
吗?
我的应用程序有一个要求,我需要在网络驱动器中创建文件,但是如果网络断开连接的应用程序挂起一段时间并引发异常,则在进行文件创建时。
有什么办法可以设置超时File.Create
吗?
类似的东西可以用来手动实现超时:
var fileCreatingThread = new Thread(...);
fileCreatingThread.Start();
if (fileCreatingThread.Join(TimeSpan.FromSeconds(5)) { /* Worked correctly */}
else
{
// time-out
}
我不知道有什么方法可以为 File.Create() 配置网络超时。这似乎是内置在框架中的,或者更可能是操作系统本身。
您可以在创建文件之前尝试建立网络连接吗?也许 ping 目标或打开一个套接字?如果这失败,您知道不要尝试创建文件。如果成功,则文件创建很有可能会通过,除非存在安全问题。