当我尝试在 IHandleMessages 实现中的 Handle(T value) 方法中将记录保存到数据库时,我的订阅者收到此异常。有谁知道为什么会这样?我想我记得 NServiceBus 使用分布式事务来处理消息事务,但我不知道为什么在两台机器上运行“RunMeFirst.bat”文件后它不只是“工作”。
有任何想法吗?
当我尝试在 IHandleMessages 实现中的 Handle(T value) 方法中将记录保存到数据库时,我的订阅者收到此异常。有谁知道为什么会这样?我想我记得 NServiceBus 使用分布式事务来处理消息事务,但我不知道为什么在两台机器上运行“RunMeFirst.bat”文件后它不只是“工作”。
有任何想法吗?
找到了答案。看起来我需要在 MSDTC 安全设置下启用“允许入站”选项。有谁知道为什么 RunMeFirst.bat 没有设置这个?
问题是(如@skb 所说)MSDTC 安全设置,您可以在此 MSDN 论坛响应中找到有关如何设置此权限的详细说明:合作伙伴事务管理器已禁用其对远程/网络事务的支持。