我正在更新一个现有的应用程序,目前只能在本地部署,但在不久的将来,我们也需要能够在Azure上部署它。当前实现使用MSDTC,但在Azure上不支持。在本地部署时,是否可以在没有MSDTC的情况下运行NServiceBus?或者,我应该在部署本地时启用MSDTC,但在Azure上部署时忽略它吗?
有没有可能在没有MSDTC的情况下运行NServiceBus?如果我这样配置NServiceBus:
.IsTransactional(false)它仍然尝试启动分布式事务。所以我认为MSDTC总是必需的?
发布于 2012-01-19 21:45:12
当您将NServiceBus部署到云中时,它没有可用的MSMQ可用。您可以将其配置为使用Azure存储队列。
因为底层传输是如此不同,我看不出在NSB on-premise中禁用事务有什么好处,因为这导致的任何行为都不会转移到云环境中。
发布于 2016-12-12 05:08:55
使用MSMQ时,默认情况下需要MSDTC。如果启用并配置outbox feature,则可以避免DTC
https://stackoverflow.com/questions/8926677
复制相似问题