我在网站上托管了 WCF 服务。我在同一个网站上有多个绑定。每个网站都可以调用另一个网站上的 WCF 服务。
因此,客户端使用的端点是动态地址。
问:是否可以知道调用者在访问主机时使用的地址是什么?
我正在寻找类似于以下内容的内容,而无需将其作为参数发送。
HttpContext.Current.Request.ServerVariables["SERVER_NAME"]
客户端示例
// The endpoint being called is -
// http://www.helloworld.com/Services/EchoService.svc for example.
EchoServiceClient client = new EchoServiceClient("WSHttpBinding_IEchoService", GetEndpoint("EchoService"));
litResponse.Text = client.Echo();
client.Close();
主机示例
public class EchoService : IEchoService
{
public string Echo()
{
return "Echo: " + {something like WCF.Caller.EndPoint.Address};
}
}
输出类似于
Echo: http://www.helloworld.com