场景: 我想实现一个MSMQ,用户通过System.Messaging API输入消息。并且应该有一个始终观察此队列的侦听器,因此当队列中有消息时,我想进行数据库更新。
我的第一个方法是实现MSMQ触发器。我能够实现COM interop dll触发器。但我无法进行数据库操作,我无法弄清楚出了什么问题,我尝试了很多。然后我开始了解这个WCF MSMQ绑定。由于我是这个WCF的新手,我有些疑惑。
在这种情况下,哪种方法可以托管WCF。是使用WAS还是Windows服务的IIS?
对于这种监听器服务是必需的客户端,还是我们可以在没有客户端调用的情况下直接在服务主机操作下编写数据库操作?
答案 0 :(得分:1)
然后我开始了解这个WCF MSMQ绑定。因为我是新手 WCF我有些疑惑
嗯,那是有效的。 WCF的学习曲线相当陡峭,配置非常重,而且是not everyone's cup of tea。
但是,如果您正在集成到MSMQ,WCF将获得非常好的支持,并且在实施方式方面具有坚实的基础。
在这种情况下,哪种方法可以托管WCF。它是IIS的吗? WAS还是Windows服务?
除非您只在网络环境中托管,否则我每次都会选择Windows服务。使用topshelf之类的东西,部署和管理开销很小,并且没有外部依赖性。
请记住使用msmqIntegrationBinding而不是netMsmqBinding,因为后者依赖于两端的WCF,而前者支持客户端上的System.Messaging,甚至更好,在客户端上使用WCF,然后您可以使用支持“netMsmqBinding”键入“消息。