0

VS 2012 で WCF のテストを行っています。これにはカスタム Http バインディングがあり、エンドポイントで使用されます。しかし、それをテストするときにメタデータが見つからないというエラーが発生しますwcfclient.exe

web.config以下は、ファイルで作成したカスタム コードです。

<bindings>
      <basicHttpBinding>
        <binding name="MaxHttp" allowCookies="true"
                 maxReceivedMessageSize="20000000"
                 maxBufferSize="20000000" 
                 maxBufferPoolSize="20000000">
          <readerQuotas maxDepth="32"
               maxArrayLength="200000000"
               maxStringContentLength="200000000"/>

        </binding>
      </basicHttpBinding>
      <!---->
    </bindings>
    <services>
      <service name="AdventureW.Service.Database.AwService">
        <endpoint address="http://localhost:49551" binding="basicHttpBinding" bindingConfiguration="MaxHttp" contract="AdventureW.Service.Database.IWsService"/>
      </service>
    </services>
4

1 に答える 1

1

MEX (Metadata Exchange) エンドポイントをサービスに追加し、Http 取得を許可する動作を追加し、その動作を使用するようにサービスを更新します。

  <system.serviceModel>
    <bindings> 
      ... 
    </bindings> 

    <services>    
      <service name="AdventureW.Service.Database.AwService" behaviorConfiguration="ServiceBehavior">    
        <endpoint address="http://localhost:49551" binding="basicHttpBinding" bindingConfiguration="MaxHttp" contract="AdventureW.Service.Database.IWsService"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>    
    </services>  

    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          <serviceMetadata httpGetEnabled="True" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
于 2012-07-23T23:10:33.817 に答える