在我的Web应用程序中处理错误 我正在创建一个日志文件,该文件将在global.asax的Application_Error()事件中创建 和那些基于日期(每天1个)创建的日志文件
我正在考虑发生错误并且在同一时间实例的情况 文件从多个用户同时写入
因此它可能会抛出另一个用户已经使用过的文件的异常 可能就像我不确定
任何人都可以帮助处理这种情况
非常感谢答案 0 :(得分:1)
使用mutex
锁定您的写作程序。我建议mutex
,而不是lock()
因为可以捕获可能引发错误的所有池/线程。
在MSDN上有关于mutex
和示例的详细信息:
http://msdn.microsoft.com/en-us/library/system.threading.mutex.aspx
一个简单的例子
public void LogThis(string LogDetails)
{
var mut = new Mutex(true, "LogMutexName");
try
{
// Wait until it is safe to enter.
mut.WaitOne();
// here you open write close your file
}
finally
{
// Release the Mutex.
mut.ReleaseMutex();
}
}
答案 1 :(得分:1)