2016-09-06 51 views
-1

我有在IIS上使用http和net.tcp協議運行的wcf服務。現在我想分別獲得分配給它們的端口的實時IP地址。此外,我想在wcf服務項目中使用它。請給出你的建議。獲取WCF服務的託管IP地址

+0

http://stackoverflow.com/questions/646525/getting-the-ip-address-of-server-in-asp-net –

+0

我想成爲6'高的 – MickyD

回答

0

當您使用web.config文件設置你的WCF服務,您可以指定如下圖所示在web.config中baseAddresses元素的端口:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
    <services> 
     <service name="ServiceClassName"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="net.tcp://localhost:12345/ServiceClassName"/> 
      </baseAddresses> 
     </host> 
     <endpoint address="" 
        binding="netTcpBinding" 
        contract="ServiceInterfaceName" /> 
     </service> 
    </services> 
    </system.serviceModel> 
</configuration> 

的IP地址是比較麻煩一些, 。在運行時是否有IP地址未知的原因,或者是否有特定原因導致您無法使用主機名連接到您的服務?

+0

definately.this是一種方法,但在這方法我需要改變基地址,只要我的服務端口或IP改變。但我的意思是,有什麼辦法可以在wcf項目中使用像(Dns.GetHostAddresses) –

+0

這樣的類運行的所有分配的協議(如http,net.tcp)的實時IP地址。這是正確的。請記住,開發和部署之間存在分離。主機名等的配置在部署步驟中完成。您的WCF服務端口多久改變一次? –

+0

你當然是對的。但我正在尋找一種無硬編碼的方式。我很佩服你的建議。感謝 –