[英]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.