为什么Nservicebus不使用WCF?

时间:2011-05-16 13:20:24

标签: .net wcf nservicebus

我看到NServiceBus使用MSMQ作为其传输。为什么不将WCF与MSMQ一起用作底层传输?

2 个答案:

答案 0 :(得分:3)

主要原因是MSMQ代码是在WCF存在之前编写的。随着时间的推移,大部分工作都集中在添加新功能而不是重新审视已经解决方案的MSMQ集成。

NServiceBus还有一些与WCF不做的MSMQ相关的事情。例如,NServiceBus将创建一个队列(如果它不存在)。这使得使用NServiceBus比使用WCF更顺畅。

这并不意味着如果迁移到WCF / MSMQ之上工作,则无法保留此功能,但主要的是,与下一个版本的所有其他内容相比,它的优先级太低。

答案 1 :(得分:0)

一旦你意识到今天的微软很多团队可能(或者很可能)不会使用彼此的代码。 NserviceBus的人做出了一个决定,他们不想出于任何原因使用WCF,就是这样。

多年前,我在一个会议上,来自MS的人告诉我们有关MTS的事情,我问他为什么那里的安全组没有使用本地组(即WinNT安全组)。他哼了一声,然后说:“是的,我知道你从那个问题来到哪里,请问下一个问题”。看,MTS中的组安全性与本地组的设计完全相同 - 但MTS人员决定实施自己的组并忽略底层的NT安全系统。如果我们可以有一个地方设置安全性并将其应用于所有Microsoft产品,我会非常高兴,但这不是它的方式。甚至是微软自己的开发者。