![](/img/trans.png)
[英]Succeed to connect my WCF service only from local machine unless machine ip address is specified instead of localhost
[英]Connect to WCF service with name instead of IP
嘿,我已經提供了WCF服務,並希望能夠使用我設置的dns連接到它? 現在,我必須通過計算機ip連接到基址。 DHCP有時會提供新的IP,然后客戶端必須知道新的IP,以此類推...您希望得到它:)
所以我如何使其通過名稱連接呢? 就像在baseaddress中有localhost
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service behaviorConfiguration="metaAndErrors"
name="VenatoWCF.WCFService">
<endpoint address="http://localhost:8732/End"
binding="basicHttpBinding"
contract="VenatoWCF.IService">
<identity>
<dns value="dendei"/>
</identity>
</endpoint>
<endpoint address="http://localhost:8732/mex"
binding="mexHttpBinding"
contract="IMetadataExchange">
<identity>
<dns value="dendei"/>
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8732/VenatoWCFconsole/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="metaAndErrors">
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
一直在嘗試這樣的事情,但沒有運氣xD,我想從客戶端連接“ http:// dendei:8732 / VenatoWCFconsole /”
因此,即使我的IP發生變化,客戶端也無需進行更改即可連接到我
謝謝你的回答!
無論如何,都將必須提供端點地址(即ip / port)。 如果該值設置為經常更改,我將在您的客戶端和服務之間設置一個端口轉發器。
我認為這是一個應該“起作用”的方案。 如圖所示,服務配置中的服務基址應該可以使用localhost。 在客戶端配置中,應該使用運行服務的主機的DNS名稱配置端點地址。
檢查客戶端計算機是否可以使用DNS名稱ping服務計算機。 如果可以解決問題,則沒有理由不應該連接WCF。 DHCP服務器決定分配新的IP地址時,您不必更改任何配置,只要客戶端仍可以將DNS名稱解析為新的IP地址即可。
例如,在您的客戶端配置中...
<client>
<endpoint address="http://dendei:8732/VenatoWCFconsole/End"
binding="basicHttpBinding" bindingConfiguration="sameBindingConfigYouAlreadyUse"
contract="Whatever.YourContractNameIs" name="YourEndpointName" />
</client>
更新:我剛剛發現上面的服務配置中存在問題。 在服務端點配置中,應將地址指定為URI的附加部分,該附加部分將附加到基本地址上。 因此,只需使用address="End"
而不是address="http://localhost:8732/End"
address="End"
。
據我了解,您沒有靜態IP地址,並嘗試通過使用靜態DNS名稱來解決此問題,在我看來,這將不起作用,因為您應該擁有靜態IP地址,而不是為其分配靜態DNS名稱,然后嘗試連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.