我有一个将消息放在MSMQ上的应用程序,而不是我想要从MSMQ自动读取这些消息的WCF服务。 我不想触发我的WCF服务,但我想在MSMQ上按下消息时通知它。我发现了一些与WAS和netMSMQBinding相关的东西,但是从MSMQ到WCF的自动通知细节似乎有点不清楚。 在这方面有任何帮助/指导吗?谢谢。
答案 0 :(得分:2)
你想要实现的是什么?
在MSMQ"上推送消息时,确实没有通知"。 MSMQ使用拉模型从队列中检索消息,因此总是需要存在某种"监听器"从队列中读取消息并处理它们。
在这种情况下,这个"听众"由WCF NetMsmq或MsmqIntegration绑定自动提供,因此通过MSMQ公开的WCF服务的编程模型就像常规单向服务一样。
正如您所述,您可以使用自己的自定义主机(例如Windows服务)托管该WCF服务,或者在许多情况下,首选方法是在IIS 7.X / 8中托管该服务。 X到WAS。
以下示例显示如何在WAS中托管MSMQ服务:http://msdn.microsoft.com/en-us/library/ms752246(v=vs.110).aspx
请注意,您确实需要IIS中的某些特定配置才能托管非HTTP服务,其中包括启用"非HTTP服务激活"特征。以下文章将有助于完成这项工作: