2011-11-21 28 views
2

當同時發出的請求嘗試訪問同一圖像文件時,讀取圖像的最佳方式是什麼?讀取沒有獨佔鎖定的文件

基本上我在asp.net中創建了tiff查看器。它顯示所有tiff頁面的縮略圖,點擊下面的完整圖片。但是當我嘗試閱讀大的tiff文件(40+ MB)時,出現了一些縮略圖和一些拒絕訪問的錯誤。我希望我清楚地解釋這個問題。

回答

2

你應該以這種方式打開流:在這種方式打開用於讀取和其它進程將能夠讀取該文件,以及只有一個過程,不是你的

using (Stream s = new FileStream(fullFilePath, 
           FileMode.Open, 
           FileAccess.Read, 
           FileShare.ReadWrite)) 
{ 
    // here use the stream s 
} 

,最終可能獲取寫權。

請看這裏以及:How do I open an already opened file with a .net StreamReader?

+0

嗯,我只想讀取文件。我不應該使用FileShare.Read而不是FileShare.ReadWrite?順便說一句,我認爲FileStream首先加載整個文件到內存中,然後執行操作,不是嗎?只有權限才能提高效率嗎? –