我在一个单独的 .DLL 中有这个事务,它从 WPF 应用程序和 ASP.NET MVC 调用。它调用同一服务器上两个独立数据库中的两个独立存储过程。
不知何故,WPF 应用程序不需要 DTC 来执行此操作,而 ASP.NET MVC 应用程序则需要。ASP.NET MVC 给我这个错误:事务管理器已禁用对远程/网络事务的支持。
为什么 WPF 应用程序不需要 DTC 而 ASP.NET MVC 应用程序需要,有没有办法避免它?
我现在只是通过在我的主数据库上创建一个存储过程来转发调用(即直接调用)我的辅助数据库中的存储过程来规避这个问题。这是一个可以接受的设计选择,因为我的辅助数据库中的 SP 一开始就应该在我的主数据库中,但它之所以存在是因为遗留问题,并且该解决方案完全防止了 MSDTC 升级,因此它比只需要启用整个电路要好得多这一次调用(在我们的整个系统中)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句