5年前,我开发了一个使用MSMQ的程序.
那时候,我使用了System.Messaging.MessageQueue和System.Messaging.MessageQueueTransaction将项目放在msmq上.
现在我看到人们使用WCF,我很困惑使用WCF.
首先,大多数代码示例仅显示如何使用WCF将项目放入队列,而不是获取OFF,但更重要的是:当我使用WCF/MSMQ解决方案时,我必须创建一个额外的项目,即wcf服务.
创建一个wcf服务当然不是问题,但我还必须在生产中安装它.
所以我想知道:为什么我应该使用wcf将项目放在队列中,而不是使用.Net对象的解决方案?
或者我是不正确的,我认为当我使用scf,我需要一个额外的应用程序,即wcf应用程序?
编辑:痤疮是这样的:我们有一个人们可以取消订阅的网站.我们不是直接命中数据库(取消订阅),而是将取消订阅请求放在队列中,另一个服务(Windows服务或控制台应用程序)将从队列中获取项目并执行数据库操作
使用WCF来包装MSMQ意味着您正在抽象化传输机制,这允许您在以后根据需要进行更改.
您当前的解决方案有一个网站,将请求放入队列,从队列获取请求的Windows服务然后命中数据库.如果你知道你将永远使用MSMQ,那么这是完全可以接受的,Amen.
但是,您可以按如下方式更改它:
Unsubscribe方法(方法名称描述逻辑操作,而不是它是如何完成的).Unsubscribe方法.如果将来您认为MSMQ是不必要的,或者您认为有更好的方法,您可以只更改WCF绑定以使用其他内容,并且代码将保持不变.
| 归档时间: |
|
| 查看次数: |
1781 次 |
| 最近记录: |