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