2010-10-27 19 views
3

WCF允許您指定應該與服務一起發佈的外部WSDL文件,而不是WCF生成的WSDL。在WSDL優先設計方法中,發佈源WSDL而不是生成的WSDL非常有意義。WCF:修復使用externalMetadataLocation時的端點地址

這是使用externalMetadataLocation設置:

<serviceBehaviors> 
    <behavior> 
    <serviceMetadata httpGetEnabled="true" externalMetadataLocation="path_to_my_wsdl.wsdl"/> 
    <serviceDebug includeExceptionDetailInFaults="false"/> 
    </behavior> 
</serviceBehaviors> 

我現在遇到的問題是,當我這樣做,它服務的WSDL直線上升,其中有錯誤的端點地址。我希望在運行時將端點地址替換爲服務的真實端點地址(根據部署位置的不同,端點地址會有所不同)。

有沒有簡單的方法來做到這一點?

回答

3

我絕不是一個WCF專家,但你不能做到這一點,通過指定它在配置文件(Web.config)端點,例如:

<system.serviceModel> 
    <services> 
     <service> 
      <endpoint 
       listenUri="https://yourdomainname.com/servicename.svc" 
       address="https://yourdomainname.com/servicename.svc"> 

注:「listenUri 「是物理地址,端點」地址「是邏輯地址。 IE瀏覽器。 「listenUri」是服務真正的地方,終點是客戶要求的。

如果他們是一樣的,你不需要listenUri我相信。

相關問題