簡體   English   中英

如何在C#中獲取WCF端點地址URL

[英]How to Get WCF endpoint address url in C#

有沒有一種方法可以根據服務客戶端名稱讀取端點地址?

這是我的服務參考名稱:

TestServiceReference.TestServiceClient TestClient = new TestServiceReference.TestServiceClient ();

這是我的web.config文件

 <endpoint address="http://....................../TestService.svc"
 behaviorConfiguration="webEndpoint" binding="webHttpBinding"
 bindingConfiguration="webHTTPBinding_abc" contract="TestServiceReference.ITestService" />**

像下面的URL

var url =“ http://............./TestService.svc ”;

試試看:

TestClient.InnerChannel.RemoteAddress

問候

TestClient.InnerChannel.RemoteAddress

好的,這很容易做到,我只需要使用MetadataExchangeClient來獲取配置。 在代碼中,我要做的就是獲取MetaData Xml:

var meta = new System.ServiceModel.Description.MetadataExchangeClient(new Uri("net.tcp://10.0.2.124:9000/TeraService/SetInstruments/mex"), System.ServiceModel.Description.MetadataExchangeClientMode.MetadataExchange);
var data = meta.GetMetadata();
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(data.GetType());
TextWriter writer = new StreamWriter("xmlfile.xml");
x.Serialize(writer, data);
writer.Close();

現在,我只需要花些時間從該配置中獲取端點。

TestClient.Endpoint.Address.Uri對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM