当2个会话同时写入同一个日志文件时,Elmah会遇到竞争状态吗?

时间:2014-03-31 09:26:51

标签: asp.net-mvc multithreading logging elmah

我正在使用ASP.NET MVC进行开发,我正在考虑使用Elmah。

我担心的是: 当2个用户同时访问我的站点并触发记录事件(写入记录器文件)时,Elmah会使用类似读取器/写入器锁的东西来处理会话级别(线程级别除外)的竞争条件吗?

1 个答案:

答案 0 :(得分:0)

ELMAH使用的默认基于文件的日志记录机制是每个错误创建一个.xml文件 - 可能是为了绕过写入同一文件的锁定问题。

如果登录到db,默认行为是将db表锁定为write,但这样的事情将是一个分裂毫秒事件,并且在极少数情况下你的应用程序会触发同步错误,它将是一个简单的基于队列的情景(不是种族)。

我已经使用ELMAH多年了,它很简单,非常有用而且非常好用。