2011-01-19 110 views
0

我在生產服務器中的IIS中的inetmgr中託管域/網站(HTTR.abc.com)。 我想域HTTR.abc.com 我的WCF服務的Web.config是如下託管WCF服務時在svcutil中獲取機器名稱

<services> 
<service behaviorConfiguration="HTTR.Business.HTTRContextServiceBehavior" name="HTTR.Business.HTTRContextService"> 
<endpoint address="http://machinename:83/GTYEBus/abcService.svc" binding="wsHttpBinding" contract="HTTR.Business.IHTTRContextService"> 
</endpoint> 
</service> 
</services> 

當我運行URL 「http://HTTR.abc下舉辦一個WCF服務。 com/GTYEBus/abcService.svc「頁面顯示正常,但顯示爲 WSDL文件指向」http:// machinename:83/GTYEBus/abcService.svc?WSDL「

我希望頁面顯示WSDL具有與.svc路徑相同的路徑,也就是說它應該顯示爲「http://HTTR.abc.com/GTYEBus/abcService.svc?WSDL」而不是 「http:// machinename:83/GTYEBus/abcService.svc?WSDL「

回答

1

我在找到解決同一問題的同時遇到了這個問題。

這最終成爲一個沒有主機名的網站的問題。

在IIS7.5中,只需將主機名添加到綁定的主機頭中即可。如果是https,主機頭可能會受到保護。您需要將證書變成僞通配符證書,方法是將*作爲證書友好名稱的開頭。然後主機名將是可編輯的。

This link具有分辨率的IIS6

一個很好的說明
0

在web.config的serviceMetadata部分,您可以包含屬性externalMetadataLocation,它指的是「http://httr.abc.com/GTYEBus /abcService.svc?wsdl「位置。示例:

<serviceMetadata externalMetadataLocation="http://httr.abc.com/GTYEBus/abcService.svc?wsdl" /> 

以下是serviceMetaData config部分中的MSDN參考:http://msdn.microsoft.com/en-us/library/ms731317.aspx

這不需要任何額外的IIS配置,並且更具可擴展性。

希望這會有所幫助。