【发布时间】:2010-04-22 11:26:21
【问题描述】:
我有一个提供 Web 服务(.asmx 和 WCF 的混合物)的网站,该网站主要使用 LINQ to SQL 和 System.Transactions。有时我们会看到事务被提升为分布式事务,这会导致问题,因为我们的 Web 服务器与我们的数据库隔离,因此我们无法使用 MSDTC。
我已通过将以下内容添加到我的 web.config 来为 System.Transactions 配置跟踪:
<system.diagnostics>
<sources>
<source name="System.Transactions" switchValue="Information">
<listeners>
<add
name="tx"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="tx.log"
/>
</listeners>
</source>
</sources>
</system.diagnostics>
这很有趣,它会在交易被提升时显示给我,但我发现它并不能真正帮助找出原因。
ADO.NET 是否有等效的跟踪机制,可以在创建连接时向我显示,包括影响池的变量(用户、cnn 字符串、事务范围)?
【问题讨论】:
标签: asp.net ado.net transactions msdtc system.diagnostics