2011-11-01 20 views
2

在我的應用程序中,我需要搜索網絡路徑並根據文件夾的存在情況進行一些處理。讓我們舉一個例子,我必須在網絡上搜索路徑,如果路徑存在,我必須啓用一些控件,否則我需要禁用這些控件。 我嘗試使用DirectoryInfo對象並得到正確的值:識別網絡路徑的最快方法

DirectoryInfo dirInfo = new DirectoryInfo(@"\ServerIPAddress\FolderName"); 

    if(dirInfo.Exists) 
    { 
      //do something 
    } 
    else 
    { 
      //do something else 
    } 

與上述代碼的問題是它會消耗超過2分鐘用於獲取已存在屬性。

有沒有更快的方法來檢查網絡路徑的存在。

感謝和問候,
阿希什·夏爾馬

+1

你的意思是'@「\\ ServerIPAddress \文件夾「(兩個反斜槓)? –

+0

可能重複的[如何避免GetFileAttributes中的網絡停頓?](http://stackoverflow.com/questions/1142080/how-to-avoid-network-stalls-in-getfileattributes) – jgauffin

+0

可能的http:// stackoverflow .com/questions/726602/how-to-prevent-timeout-when-inspecting-unavailable-network-share-c-sharp – jgauffin

回答

2

通常這需要一定的時間只有當文件夾不指定的路徑存在。 你可以使用不同的線程來檢查文件夾是否存在如下描述(連同代表):How to avoid network stalls in GetFileAttributes?

你也可以檢查此相關的問題:How To: Prevent Timeout When Inspecting Unavailable Network Share - C#

+0

你已經投了票作爲副本關閉 – jgauffin

+0

這是我第一次嘗試。還沒有這個特權:( – Kash

+0

感謝您的方法,我現在正在使用您指定的方法,目前問題已解決,但我可能需要儘快找到一種新方法! –