2011-07-06 537 views
1

我已經創建了一個與IIS 6(Windows XP)中承載的WCF服務:爲什麼IMetadataExchange不可見?

<system.serviceModel>   
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="myServiceBehaviors">   
      <serviceMetadata httpGetEnabled="true"/>   
      <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors>  
    <services> 
     <service name="Namespace.Class" behaviorConfiguration="myServiceBehaviors">     
     <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />   
     </service>  
    </services>   
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel>  

我已經創建的虛擬目錄(MyVirtualFolder)與Visual Studio 2010中,當我點瀏覽器中的「http://本地主機/ MyVirtualFolder/MyService.svc「 我得到的錯誤頁告訴我,我應該打開元數據交換接口說明如何做到這一點,我將如何修改我的配置文件。我仔細檢查了這一點,我的配置相當於HTML頁面提出的配置。

爲什麼IMetaDataExchange界面不可用?

預先感謝您!

+0

什麼類型的你正在使用綁定請添加完整的配置代碼 – hungryMind

+0

我覺得你的問題是,你沒有。爲服務配置的「主要」端點您只配置了mex端點 –

回答

0

最後我發現了什麼是原因:

<service name="Namespace.Class">指出錯誤的類:(

0

嘗試<serviceMetadata />而不是<serviceMetadata httpGetEnabled="true"/>
如果您在IIS中託管Web服務,則有* .svc文件。您不需要端點來獲取元數據,刪除端點,並且所有端點都可以正常工作。

+0

這是一個可憐的,但沒有運氣 –

0

從您的IMetadataExchange端點刪除address="mex"

此外,您的服務本身沒有實際的終端。

如果可能,請嘗試使用WCF配置編輯器(Windows SDK的一部分)SvcConfigEditor來獲得工作服務和客戶端配置。

+0

仍然沒有運氣:( –