asp.net mvc - 当 2 个会话同时写入同一日志文件时,Elmah 是否会遇到争用条件



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

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

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

如果记录到 db,默认行为是锁定要写入的 db 表,但这样的事情将是一个瞬间毫秒事件,在极少数情况下,您的应用程序会同时触发错误,这将是一个简单的基于队列的场景(不是比赛)。

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

最新更新