将元数据端点添加到你的服务

SOAP 服务可以发布描述客户端可能调用的方法的元数据。客户端可以使用 Visual Studio 等工具自动生成代码(称为客户端代理 )。代理隐藏了调用服务的复杂性。要调用服务,只需在客户端代理上调用方法。

首先,你必须向服务添加元数据端点。假设你的服务看起来与第一个服务和主机示例中定义的服务相同,你可以对配置文件进行以下更改。

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior name="serviceBehaviour">
        <serviceMetadata httpGetEnabled="true" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <services>
    <service name="Service.Example" behaviorConfiguration="serviceBehaviour">
      <endpoint address="mex" binding="mexHttpBinding" name="mexExampleService" contract="IMetadataExchange" />
      <endpoint name="netTcpExample" contract="Service.IExample" binding="netTcpBinding" />
      <host>
        <baseAddresses>
          <add baseAddress="net.tcp://localhost:9000/Example" />
          <add baseAddress="http://localhost:8000/Example" />
        </baseAddresses>
      </host>
    </service>
  </services>      
</system.serviceModel>

mexHttpbinding 通过 http 公开接口,所以现在你可以使用 Web 浏览器了

http:// localhost:8000 /示例 http:// localhost:8000 /示例?wsdl

它将显示服务及其元数据。