2014-07-07 372 views
0

控制檯應用程序的一部分我已經構建該目錄,用於從我們使用的服務器上的目錄中刪除不需要的訂單文件。當我從本地機器運行它時,這部分代碼工作正常,但是當我們在服務器上運行它時(它將是一個計劃任務),它不再刪除該文件。在服務器上運行時,無法從服務器上刪除文件

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

而異常中的錯誤信息是? – Steve

+0

發佈例外。 – mxmissile

+2

本地系統帳戶可能沒有權限刪除該文件。例外應該指出你的方式。 – 48klocs

回答

0

我以前曾經遇到過這個問題,我只是轉到管理員共享(\\ server \ c $ \ path \ file.txt),或者將路徑更改爲本地路徑,並且都很好。

應該指出的是,既有文件權限,也有訪問共享本身的權限,後者可能是問題所在。

如果更改路徑有幫助(並且您無法輕鬆訪問修復共享),則可以將其設置爲配置設置,並在每個位置使用不同的配置。

相關問題