2012-07-23 62 views
0

我正在爲WCF在VS 2012中進行測試。它具有自定義的Http綁定,並在端點中使用。但它給出了一個錯誤,它在wcfclient.exe在WCF端點中無法獲取元數據錯誤

中測試時找不到元數據以下是我在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> 

回答

1

一個MEX(元數據交換)端點添加到您的服務,添加行爲,允許對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> 
+0

我照你說的,但我有這個錯誤。錯誤:無法從http:// localhost:49551/WsService.svc獲取元數據如果這是您有權訪問的Windows(R)Communication Foundation服務,請檢查是否已在指定地址啓用元數據發佈。 – darking050 2012-07-24 21:08:30

+0

您能否提供有關您如何託管此服務的詳細信息? – 2012-08-06 14:12:26