Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 消息未送达服务_.net_Wcf_Msmq - Fatal编程技术网

.net 消息未送达服务

.net 消息未送达服务,.net,wcf,msmq,.net,Wcf,Msmq,我有一个使用netMsmqBinding的WCF服务和一个使用它的客户端。我使用客户机向服务发送一条消息,它进入消息队列,但服务从未激活。我尝试过在构造函数中设置断点、异常、在操作上设置通配符以及其他一些事情,但服务从未做过任何事情。消息位于消息队列中 即使禁用IIS,消息也会进入队列 我缺少什么?我不相信MSMQ绑定会自动在IIS托管的WCF服务中工作。我相信您必须在IIS中使用Windows激活服务(WAS)或其他机制才能使其正常工作。本文可能会为您提供一些信息: 您的服务是托管在应用程序中

我有一个使用netMsmqBinding的WCF服务和一个使用它的客户端。我使用客户机向服务发送一条消息,它进入消息队列,但服务从未激活。我尝试过在构造函数中设置断点、异常、在操作上设置通配符以及其他一些事情,但服务从未做过任何事情。消息位于消息队列中

即使禁用IIS,消息也会进入队列


我缺少什么?

我不相信MSMQ绑定会自动在IIS托管的WCF服务中工作。我相信您必须在IIS中使用Windows激活服务(WAS)或其他机制才能使其正常工作。本文可能会为您提供一些信息:


您的服务是托管在应用程序中还是根站点节点下?如果不在应用程序中,则创建一个,移动服务并在命令提示符下使用这些命令(管理模式)

其中servicesite和svcapp分别是IIS站点节点和应用程序节点的名称


通过web浏览器访问您的服务,看看您得到了什么。

您是在IIS中运行WCF服务,还是作为独立Windows服务宿主的IIS。正如我所说,即使我禁用IIS,消息仍然会进入队列。这些文章使用的是IIS,而不是自托管服务。“最后一步是配置IIS 7,以便在新消息到达时侦听消息队列并激活服务。”如果您已经尝试了某些操作,则可能需要更新您的问题,以指示您尝试了什么以及为什么。这些类型的内容高度依赖于细节,因此,如果您只提供一点信息,就不能期望详细的演练。
appcmd set site "servicesite" -+bindings.[protocol='net.msmq',bindingInformation='localhost']
appcmd set app "servicesite/svcapp" /enabledProtocols:net.msmq