WCF错误请求。元数据包含无法解析的引用

时间:2018-05-01 22:35:06

标签: c# wcf wcf-binding

我在 WCF 服务中重命名了服务合同文件,现在尝试添加或更新服务引用时出错:

  

下载“http://localhost:8733/Design_Time_Addresses/MessengerService/MessengerService/mex/ $元数据”时出错。   请求失败,HTTP状态为400:错误请求。   元数据包含无法解析的引用:“http://localhost:8733/Design_Time_Addresses/MessengerService/MessengerService/mex”。   元数据包含无法解析的引用:“http://localhost:8733/Design_Time_Addresses/MessengerService/MessengerService/mex”。   如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

服务部署在 WcfSvcHost 中。 我的App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" />
  </system.web>
  <system.serviceModel>
    <services>
      <service name="MessengerService.ServiceLogic.MessengerService">
        <endpoint address="" binding="wsDualHttpBinding" contract="MessengerService.Contracts.ServiceContracts.IMessengerService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8733/Design_Time_Addresses/MessengerService/MessengerService/" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="False" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

</configuration>

如何解决?

1 个答案:

答案 0 :(得分:-1)

令人难以置信。所以,如果我在回调合同中写下这段代码:

[OperationContract(IsOneWay = true)]
void MakePulse();

这是正常的。但如果我写这个:

[OperationContract(IsOneWay = true)]
void Pulse();

这绝对是错的。