2012-01-19 35 views
0

我正在更新现有的应用程序,目前只能在本地部署,但在不久的将来,我们也需要能够将其部署到Azure上。当前的实现使用MSDTC,但Azure不支持此功能。在内部部署时是否可以在没有MSDTC的情况下运行NServiceBus?还是应该在部署本地时启用MSDTC,但在Azure上部署时忽略它?NServiceBus没有MSDTC

甚至可以在没有MSDTC的情况下运行NServiceBus吗?如果我这样配置NServiceBus:

.IsTransactional(false) 

它仍尝试启动分布式事务。所以我想MSDTC始终是必需的?

回答

0

当您将NServiceBus部署到云时,没有可供其使用的MSMQ。您可以将其配置为使用Azure存储队列。

由于底层传输如此不同,我没有看到禁用NSB内部部署事务的任何优势,因为由此导致的任何行为都可能无法传输到云环境。

0

使用MSMQ时默认情况下需要MSDTC。如果您启用并配置了outbox feature