0
我正在Console_Application-A中,我調用另一個Console_Application-B(其中我創建日誌不能訪問該文件「文件路徑」文件的錯誤/異常)。IOException異常:進程,因爲它被用來在C#中的控制檯應用程序另一個進程
但是當我運行Console_Application-B單獨其工作正常,但是當我在那個時候運行Console_Application-A我得到一個異常時,應用程序需要寫在日誌文件中的錯誤。(Error.txt)。
IOException異常:因爲它 正在使用由另一個進程的進程無法訪問該文件「Error.txt」
請指導我在這個問題上。
代碼寫入錯誤日誌
public static bool IsFileLocked(FileInfo file)
{
FileStream stream = null;
try
{
stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None);
}
catch (IOException)
{
return true;
}
finally
{
if (stream != null)
stream.Close();
}
return false;
}
catch (Exception e)
{
string filePath =Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\Error.txt";
FileInfo FInfo = new FileInfo(filePath);
var FileState = IsFileLocked(FInfo);
while (FileState){
FileState = IsFileLocked(FInfo);
}
if (!FileState){
using (StreamWriter writer = new StreamWriter(filePath, true))
{
writer.WriteLine("Message :" + e.Message + "<br/>" + Environment.NewLine + "StackTrace :" + e.StackTrace +"" + Environment.NewLine + "Date :" + DateTime.Now.ToString());
writer.WriteLine(Environment.NewLine + "-----------------------------------------------------------------------------" + Environment.NewLine);
writer.Dispose();
}
}
}
這兩個應用程序在同一時間訪問同一個文件? – Sybren
添加您的代碼寫入日誌文件。 –
沒有這兩個應用程序都使用不同的文件 –