問題我有以下代碼讀取文件與StreamReader的,ThreadSafety和讀取模式
StreamReader str = new StreamReader(File.Open(fileName, FileMode.Open, FileAccess.Read));
string fichier = str.ReadToEnd();
str.Close();
這是一個asp.net web服務的一部分,並在生產中一直在努力罰款的一年了。現在隨着服務器負載的增加,客戶已經開始變得「文件已被使用」錯誤。該文件正在從該代碼讀取,並且從不寫入應用程序。
我清楚地看到的一個問題是我們沒有緩存文件的內容以供將來使用。我們會這樣做。但我需要明白爲什麼以及如何解決這個問題。
是否因爲多個線程試圖讀取文件?我讀到StreamReader不是線程安全的,但爲什麼當我在Read模式下打開文件時它會成爲問題?