【发布时间】:2011-05-16 13:20:24
【问题描述】:
我看到 NServiceBus 使用 MSMQ 作为其传输。为什么它不使用带有 MSMQ 的 WCF 作为底层传输?
【问题讨论】:
-
@DanielAWhite 是对的,here is some more info 关于 NServiceBus 的历史
标签: .net wcf nservicebus
我看到 NServiceBus 使用 MSMQ 作为其传输。为什么它不使用带有 MSMQ 的 WCF 作为底层传输?
【问题讨论】:
标签: .net wcf nservicebus
主要原因是 MSMQ 代码是在 WCF 存在之前编写的。随着时间的推移,大部分工作都集中在添加新功能上,而不是重新审视已经解决的 MSMQ 集成。
对于 MSMQ,NServiceBus 还做了一些 WCF 没有做的事情。例如,如果 NServiceBus 不存在,它将创建一个队列。这使得使用 NServiceBus 比使用 WCF 更顺畅。
这并不意味着如果迁移到 WCF/MSMQ 之上工作,则无法保留此功能,但主要是与计划在下一个版本中的所有其他内容相比,它的优先级太低了。
【讨论】:
一旦您意识到今天的 Microsoft 是许多可能(或最有可能)可能不使用彼此代码的团队。 NserviceBus 的人决定无论出于何种原因他们都不想使用 WCF,就是这样。
几年前,我在一次会议上,一位来自 MS 的人向我们介绍了 MTS,我问他为什么那里的安全组不使用本地组(即 WinNT 安全组)。他嗯了一声,然后说:“是的,我知道你从哪里提出这个问题,请下一个问题”。看,MTS 中的组安全性与为本地组设计的完全一样 - 但 MTS 人员决定他们将实现自己的组并忽略底层 NT 安全系统。如果我们可以有 1 个地方来设置安全性并将其应用于所有 Microsoft 产品,我会非常高兴,但事实并非如此。即使是微软自己的开发人员。
【讨论】: