【发布时间】:2015-04-15 03:16:19
【问题描述】:
我正在尝试在 Visual Studio 中向我的 wcf 应用程序添加服务引用。 我可以为各种绑定(例如 net.pipe 和 basichttp... 但是对于 net.msmq 绑定,我得到错误
这是我的 web.config 的相关部分:
<system.serviceModel>
<bindings>
<netMsmqBinding>
<binding name="netMsmqBinding" exactlyOnce="false">
<security mode="None"></security>
</binding>
</netMsmqBinding>
<basicHttpBinding>
<binding name="basicHttp" />
</basicHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="WCF_ServiceSample.WCF_ServiceBehavior" />
</endpointBehaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata />
<serviceDebug />
<serviceDiscovery />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
<service behaviorConfiguration="serviceBehavior" name="WCF_ServiceSample.WCF_Service">
<host>
<baseAddresses>
<add baseAddress="http://localhost:4000/Services/" />
<add baseAddress="net.msmq://localhost/Services/" />
</baseAddresses>
</host>
<endpoint address="mex" behaviorConfiguration="WCF_ServiceSample.WCF_ServiceBehavior"
binding="mexHttpBinding" bindingConfiguration="" name="mex_http"
contract="IMetadataExchange" />
<endpoint address="AdventureWorksServiceHttp" binding="basicHttpBinding" bindingConfiguration=""
name="basicHttpEndpt" contract="WCF_ServiceSample.WCF_Service" />
<endpoint address="AdventureWorksServiceNetMsmq"
binding="netMsmqBinding" bindingConfiguration="netMsmqBinding"
contract="WCF_ServiceSample.WCF_Service" />
</service>
</services>
</system.serviceModel>
这是我通过 wcf 客户端运行服务时遇到的错误:
错误:无法从 http://localhost:9011/WCF_Service.svc 如果这是 Windows (R) 请访问您有权访问的通信基础服务 检查您是否已在指定位置启用元数据发布 地址。有关启用元数据发布的帮助,请参阅 MSDN 文档位于 http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata交流 错误 URI:http://localhost:9011/WCF_Service.svc 元数据包含 无法解决的参考: 'http://localhost:9011/WCF_Service.svc'。服务器没有提供 有意义的回复;这可能是由于合同不匹配造成的,a 会话过早关闭或内部服务器错误。HTTP GET 错误 URI:http://localhost:9011/WCF_Service.svc 出现错误 下载'http://localhost:9011/WCF_Service.svc'。请求
失败并显示错误消息:--“/”应用程序中的服务器错误。
找不到与方案 net.msmq 匹配的基地址 具有绑定 NetMsmqBinding 的端点。注册的基地址方案 是 [http]。描述:在执行过程中发生了未处理的异常 执行当前的 Web 请求。请查看堆栈跟踪 有关错误及其起源的更多信息 代码。
这是我在添加服务引用时遇到的错误 -> net.msmq://localhost/WCF_Service.svc 然后我按“开始”
URI 前缀无法识别。 MetadataExchangeClient 实例 无法初始化,因为方案没有可用的绑定 'net.msmq'。您可以在构造函数中提供一个 Binding,或者指定一个 配置名称。参数名称:scheme 如果服务定义在 当前解决方案,尝试构建解决方案并添加服务 再次参考。
【问题讨论】: