我在调用工作流方法时使用此代码检索远程IP地址:
private static string GetRemoteIP()
{
var oc = OperationContext.Current;
var mp = oc.IncomingMessageProperties;
var remp = mp[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
return remp == null ? "(unknown)" : remp.Address;
}
Run Code Online (Sandbox Code Playgroud)
但是,我得到的地址是":: 1".我不想要IPv6地址,我想要IPv4(127.0.0.1) - 任何强制这种方式?
不,我不这么认为。您基本上只是在调用时读出客户端设置的属性。您唯一的选择是指示客户端(通过某些配置)始终使用 IPv4 而不是 IPv6(即一起关闭 IPv6)。
我不知道有任何 WCF 设置可以强制执行此操作-您必须深入研究网络堆栈,看看是否有任何方法可以使其使用 IPv4 地址而不是 IPv6。
归档时间: |
|
查看次数: |
10336 次 |
最近记录: |