为了处理我的 Web 应用程序中的错误,我正在创建一个日志文件,它将在 global.asax 的 Application_Error() 事件中创建,以及基于日期创建的那些日志文件(每天 1 个)
我正在考虑发生错误的情况,并且在同一时间文件实例同时从多个用户写入
所以它可能会抛出异常该文件已被另一个用户使用它可能就像我不确定
任何人都可以帮助处理这种情况
非常感谢
为了处理我的 Web 应用程序中的错误,我正在创建一个日志文件,它将在 global.asax 的 Application_Error() 事件中创建,以及基于日期创建的那些日志文件(每天 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();
}
}