所以我正在构建一个客户端服务器应用程序,我必须选择他们将如何相互交谈.我可以:
什么地方有一个矩阵可以告诉我在哪里使用这些技术之一.性能,可靠性等等都会有所帮助.
如果您有纯.NET到.NET应用程序,请转到WCF.在执行TCP/IP时,它会让您的生活变得简单,但为您的消息传递保留了一层很好的面向对象设计.它还使得对您的消息传递代码进行单元测试非常容易,这是我认为最大的好处.
WCF将在本地计算机上执行TCP/IP管道,并且它还支持许多基于HTTP的解决方案.您还可以免费获得大部分安全性,并且代码会在通信层中为您执行大量错误处理.
如果您需要MQ解决方案,那么请尽情享受.支持MSMQ,但同样它也是MSMQ.
使用其他解决方案将受益于更多功能,但功能带来复杂性和风险.我个人将.Net应用程序与websphere MQ集成在一起,我对解决方案的成本和收益并不感兴趣.更不用说MQ在非P系列硬件上的性能至少是缺乏的.
排队还是不排队?
您的消息传递解决方案需要什么?
如果您喜欢WCF,那么您可以免费获得它.但基本上有两种消息传递模式:排队和非排队.WCF提供了一个巨大的可互换通道,绑定,格式,协议和身份验证方法矩阵,可以通过简单更改.config文件来切换.但他们都是非排队模式.如果你的解决方案没有一个耦合的通信通道,那么对于CLR应用程序来说,目前可能没有比WCF更好的了.如果您的要求强加了基于排队的解决方案,那么您将放弃所有酷的可互换绑定玩具,并且您将利用WCF的序列化和服务的激活模型.
最后但并非最不重要的是,在任何消息传递解决方案中发送的消息中有90%最终存在于数据库中,而且很多消息也来自数据库.如果您希望与SQL Server数据库紧密集成,在保证可靠交付的同时提供性能,那么SSB中就有了解决方案.
| 归档时间: |
|
| 查看次数: |
1339 次 |
| 最近记录: |