当我尝试在Visual Studio中向我的WCF服务添加服务引用时,我收到错误“不支持协议'net.msmq'。
我已成功投放appcmd set site "Default Web Site" -+bindings.[protocol='net.msmq',bindingInformation='localhost']
我可以在applicationHost.config文件中看到配置。由于我在visual studio中运行我的服务,我是否需要为我的特定应用程序启用net.msmq协议(appcmd set app“Default Web Site / MsmqService”/enabledProtocols:net.msmq)?我不知道怎么做,因为我的服务是在visual studio中运行的?如果我不需要这样做,还有什么可能是问题。这是我的配置。任何帮助表示赞赏..
<configuration>
<system.serviceModel>
<services>
<service name="MessageRoutingService"
behaviorConfiguration="ServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:29376" />
</baseAddresses>
</host>
<endpoint name="Response"
address="net.msmq://localhost/private/Response"
binding="netMsmqBinding"
bindingConfiguration="TransactedBinding"
contract="IResponse" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<bindings>
<netMsmqBinding>
<binding name="TransactedBinding">
<security mode="None">
</security>
</binding>
</netMsmqBinding>
</bindings>
</system.serviceModel>
</configuration>
答案 0 :(得分:6)
您需要启用组件“Microsoft Message Queue(MSMQ)Server”(1)并在IIS(2)上的应用程序中添加“net.MSMQ”协议。
转到“打开或关闭Windows功能”中的“程序和功能”,选中“Microsoft Message Queue(MSMQ)Server”下的组件。
转到IIS上的应用程序,单击“高级设置”,然后单击“启用协议”,添加“net.MSMQ”。