我有用C#.NET編寫的windows服務。該服務在內部計時器上運行,每次間隔命中時,它都會去並嘗試將此日誌文件讀取到String中。文件被服務鎖定(服務代碼讀取文本文件後)
我的問題是每次讀取日誌文件時,服務似乎都會鎖定日誌文件。該日誌文件上的鎖定將繼續,直到我停止Windows服務。同時該服務正在檢查日誌文件,同一個日誌文件需要由另一個程序不斷更新。如果文件鎖定打開,另一個程序無法更新日誌文件。
這是我用來讀取文本日誌文件的代碼。
private string ReadtextFile(string filename)
{
string res = "";
try
{
System.IO.FileStream fs = new System.IO.FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.StreamReader sr = new System.IO.StreamReader(fs);
res = sr.ReadToEnd();
sr.Close();
fs.Close();
}
catch (System.Exception ex)
{
HandleEx(ex);
}
return res;
}
謝謝。
+1爲'using'尖端。 – 2010-06-08 22:38:33