使用 Linq-2-Sql 时的 System.Transactions 源警告
我已经启用了 System.Transactions 日志记录:
<system.diagnostics>
<sources>
<source name="System.Transactions" switchValue="Warning">
-- my listeners here
</source>
</sources>
</system.diagnostics>
并看到很多奇怪的日志警告,例如:
- Transaction.Rollback Called
- Enlistment Callback Negative
- TransactionScope Incomplete
可以请有人解释一下吗?我的系统按预期工作,并且没有引发 ADO.NET 级别的异常。 DAL 代码是典型的 L2S 代码,没有显式的事务管理或任何 hack。
I've enabled System.Transactions logging:
<system.diagnostics>
<sources>
<source name="System.Transactions" switchValue="Warning">
-- my listeners here
</source>
</sources>
</system.diagnostics>
and see A LOT of strange log warnings like:
- Transaction.Rollback Called
- Enlistment Callback Negative
- TransactionScope Incomplete
Can please somebody shed some light on it? My system works as expected and there are no ADO.NET level exceptions raised. The DAL code is typical L2S code without explicit transaction management or any hacks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用警告的 switchValue 不仅仅会捕获错误。来自 msdn:
存在可能随后导致错误或严重故障(例如,分配失败或接近限制)的情况。对用户代码中的错误(例如事务中止、超时、身份验证失败)的正常处理也可能生成警告。
也许这就是你想要的。如果是这样,那就酷了。否则,您可能需要将其更改为错误。
Using a switchValue of Warning will pickup more than just errors. From msdn:
A condition exists that can subsequently result in an error or critical failure (for example, allocation failing or approaching a limit). Normal processing of errors from user code (for example, transaction aborted, timeouts, authentication failed) can also generate a warning.
Maybe this is what you want. If so, cool. Otherwise, you may want to change it to Error.