没有MSDTC的NServiceBus

时间:2012-01-19 13:19:35

标签: nservicebus

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

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

.IsTransactional(false)

它仍然尝试启动分布式事务。所以我想总是需要MSDTC?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

使用MSMQ时默认需要MSDTC。如果启用并配置outbox feature

,则可以避免DTC