我已经在IIS中使用多个端口绑定配置了一个简单的服务。 无论调用哪个端口,当前通道的本地地址始终相同。
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class TestService : ITestService
{
public string Test()
{
return OperationContext.Current.Channel.LocalAddress.Uri.Port.ToString();
}
}
致电testHost2:7772
->返回 7772
呼叫testHost1:7771
->也返回 7772
答案 0 :(得分:0)
您可以使用以下代码通过WCF获取主机名和端口:
var test = OperationContext.Current.Host.BaseAddresses[0].Authority;
或
Uri uri = OperationContext.Current.IncomingMessageHeaders.To ;