【问题标题】:How to Get WCF endpoint address url in C#如何在 C# 中获取 WCF 端点地址 url
【发布时间】:2019-09-19 07:05:23
【问题描述】:

有没有办法可以根据服务客户端名称读取端点地址?

这是我的服务参考名称:

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

这是我的 web.config 文件

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

喜欢下面的网址

var url = "http://............./TestService.svc";

【问题讨论】:

标签: c# wcf


【解决方案1】:

试试看:

TestClient.InnerChannel.RemoteAddress

问候

【讨论】:

  • 请按照回答来回答
【解决方案2】:

TestClient.InnerChannel.RemoteAddress

【讨论】:

  • 为什么要重写相同的答案?
  • 我无法勾选答案,因为我只有 6 个声望点。所以我重复了你的回答
【解决方案3】:

好吧,这很容易做到,我只需要使用 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();

现在我只需要花一些时间从该配置中获取端点。

【讨论】:

    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 2010-09-10
      • 1970-01-01
      • 2011-12-18
      • 1970-01-01
      相关资源
      最近更新 更多