我的控制台应用程序的一部分用于从我们使用的服务器上的目录中删除不需要的订单文件。当我从本地机器上运行它时,这部分代码工作正常,但是当我们在服务器上运行它时(它将是一个计划任务),它不再删除文件。
try
{
System.IO.File.Delete(@"\\ServerName\ProductionFileShare\Orderfiles\FileDir\" + fileName);
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
return;
}
文件名只是storeorder.txt。
正如我所说的,这在我的本地计算机上运行得很好,但是当我们从服务器本身运行该程序时不会删除该文件。有什么想法吗?
更新:异常消息是:进程无法访问文件' \ ServerName \ ProductionFileShare \ Orderfiles \ FileDir \ storeorder_07062014_16-25-0.txt'因为它正被另一个进程使用。
这对我来说很奇怪,因为它适用于我的电脑。我将添加一些垃圾收集,看看会发生什么。
更新#2:显然已经修好了!这是一个意外的解决方案。感谢大家花时间发表评论,我真的很感激。
答案 0 :(得分:0)
之前我遇到过这个问题,我只是转移到管理员共享(\\ server \ c $ \ path \ file.txt),或者将路径更改为本地路径,一切都很好。
应该提到的是,既有文件权限,又有访问共享本身的权限,后者很可能就是问题所在。
如果更改路径有帮助(并且您无法轻松访问以修复共享),那么您可以将其设置为配置,并在每个位置使用不同的配置。