gpt4 book ai didi

.net - 使用 TransactionScope 和 MS DTC 时的常见问题

转载 作者:行者123 更新时间:2023-12-04 15:37:58 24 4
gpt4 key购买 nike

我刚刚开始使用 TransactionScope,我发现总会遇到一些意想不到的事情,需要永远调试。

我认为拥有这些的综合列表对于那些“奇怪的错误”情况非常有用,并且可以扩展我们对平台中奇怪现象的了解。

关于我将如何使用事务范围的一些上下文:

  • 网络应用程序
  • 多个 Web 服务器、应用程序服务器和 sql 服务器
  • 事务将主要是数据库事务,但有些会被提升为写入 MSMQ。
  • 最佳答案

    我头顶上有两件事:

  • 当您在同一范围内使用多个连接对象时,事务将被提升,即使这些连接具有相同的连接字符串(这在 sql 2008 中已修复)。阅读更多 this threaddbconnectionscope将在 sql 2005
  • 上解决该问题
  • msdtc 实例需要能够看到彼此,并且需要正确设置它们的安全性
    http://support.microsoft.com/kb/899191 (允许入站和出站,不需要相互认证通常是最安全的选择)。使用 DTCPing 解决 dtc 实例之间的连接问题,如下所述:http://support.microsoft.com/kb/306843

  • 您希望事务尽可能轻量级,dtc 引入了大量开销。您还希望事务尽可能短,因此只在应用程序服务器上而不是在 Web 服务器上引入它们。使应用服务器和数据库之间的网络跳跃尽可能小和尽可能快,通过不同于应用服务器和数据库之间的连接在 Web 和应用服务器之间发送网络流量,并使最后一个快速尖叫,可笑的短连接。

    如果您有多个应用程序服务器,您可以考虑在服务器上运行一个 msdtc 实例(例如,在数据库或其中一个应用程序服务器上)并从所有应用程序服务器远程使用它,而不是每个应用程序服务器都运行自己的,但是我不知道这有什么额外的好处。

    关于.net - 使用 TransactionScope 和 MS DTC 时的常见问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1759163/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com