客服端调用自定义宿主的WCF报错"没有终结点在侦听可以接受消息的http://localhost:8085/mex。这通常是由于不正确的地址或者 SOAP 操作导致的错误"的解决方案。

没有终结点在侦听可以接受消息的http://localhost:8085/mex。这通常是由于不正确的地址或者 SOAP 操作导致的错误。

这个错误是由于没有启动元数据交换终结点(MEX)导致的。在宿主配置里面加上如下终结点就好:|
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 

完整的app.config

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

<configuration>

  <system.serviceModel>

    <services>

      <service name="Stone.Services.ProductOperationService" behaviorConfiguration="dataControctBehavior">

        <endpoint  binding="wsHttpBinding" contract="Stone.Contracts.IProductOperationContract" 

                  bindingConfiguration="dataControctBinding" ></endpoint>

        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

        <host>

          <baseAddresses>

            <add baseAddress="http://localhost:8085/"/>

          </baseAddresses>

        </host>

      </service>

    </services>

    <bindings>

      <wsHttpBinding>

        <binding name="dataControctBinding">

        </binding>

      </wsHttpBinding>

    </bindings>

   

    <behaviors>

      <serviceBehaviors>

        <behavior name="dataControctBehavior">

          <serviceDebug includeExceptionDetailInFaults="true"/>

          <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8085/mex"/>

        </behavior>

      </serviceBehaviors>

    </behaviors>

  </system.serviceModel>

</configuration>

你可能感兴趣的:(localhost)