2016-12-13 28 views
0

我們有做類似下面的內容服務:Directory.Move遠程目錄導致DirectoryNotFoundException,但目錄中存在

var dir =  @"\\network-fileshare\logs\special\1"; 
var anotherDir = @"\\network-fileshare\logs\1"; 

if (Directory.Exists(dir)) 
{ 
    Directory.Move(dir, anotherDir); 
} 

有時移動目錄時拋出一個DirectoryNotFoundException,說它「無法找到我們嘗試移動的目錄的路徑的一部分(即dir)。

什麼令我感到困惑的是:

  1. 我們檢查目錄存在,但異常消息說,它無法被發現。
  2. 這個錯誤是間歇發生的。大部分時間工作;一旦在一個藍色的月亮,它不會。
  3. 我已驗證要移動的目錄存在於我們的文件共享中。

DirectoryNotFoundException是否還有其他可能的原因?

+0

由於它是一個網絡共享,我猜測暫時的網絡問題可能會導致'Move'操作失敗。你正在接收的'DirectoryNotFoundException'中是否有內部異常? –

+0

@ZoranHorvat:不幸的是,它看起來好像沒有內部異常,或者我們的記錄器沒有設置捕獲:( – broAhmed

回答

1

網絡問題也可能導致此問題。您可以考慮使用Mapped Network Drive字母,但基於我的經驗,除非重新設計網絡結構,否則很難解決它。無論如何,這只是我的看法。

+0

我將假設它是由於網絡問題。感謝你和Zoran Horvat! – broAhmed