我看到NServiceBus使用MSMQ作为其传输。为什么不将WCF与MSMQ一起用作底层传输?
答案 0 :(得分:3)
主要原因是MSMQ代码是在WCF存在之前编写的。随着时间的推移,大部分工作都集中在添加新功能而不是重新审视已经解决方案的MSMQ集成。
NServiceBus还有一些与WCF不做的MSMQ相关的事情。例如,NServiceBus将创建一个队列(如果它不存在)。这使得使用NServiceBus比使用WCF更顺畅。
这并不意味着如果迁移到WCF / MSMQ之上工作,则无法保留此功能,但主要的是,与下一个版本的所有其他内容相比,它的优先级太低。
答案 1 :(得分:0)
一旦你意识到今天的微软很多团队可能(或者很可能)不会使用彼此的代码。 NserviceBus的人做出了一个决定,他们不想出于任何原因使用WCF,就是这样。
多年前,我在一个会议上,来自MS的人告诉我们有关MTS的事情,我问他为什么那里的安全组没有使用本地组(即WinNT安全组)。他哼了一声,然后说:“是的,我知道你从那个问题来到哪里,请问下一个问题”。看,MTS中的组安全性与本地组的设计完全相同 - 但MTS人员决定实施自己的组并忽略底层的NT安全系统。如果我们可以有一个地方设置安全性并将其应用于所有Microsoft产品,我会非常高兴,但这不是它的方式。甚至是微软自己的开发者。