【问题标题】:The client IP address format in a WCF serviceWCF 服务中的客户端 IP 地址格式
【发布时间】:2017-01-17 17:05:38
【问题描述】:

我正在使用最新的 WCF 版本。我正在获取客户端的 IP 地址:

        OperationContext context = OperationContext.Current;
        MessageProperties prop = context.IncomingMessageProperties;
        RemoteEndpointMessageProperty endpoint = prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
        string ip = endpoint.Address;

我得到的IP是:

::1

这是什么意思,有人可以解释一下这种格式吗?

是因为绑定吗?我用basicHttpBinding

【问题讨论】:

    标签: c# .net wcf ip wcf-binding


    【解决方案1】:

    即IPv6环回地址

    https://en.wikipedia.org/wiki/Localhost

    即客户端在同一台机器上并使用 IPv6 连接到服务

    【讨论】:

    • 谢谢,有道理。是否可以获得客户端的 IPv4 ?
    • 碰巧,这非常接近stackoverflow.com/questions/2028879/ipv4-remote-address-in-wcf 有一些建议
    • 我看到了。答案是从 2010 年开始的,它基本上说 “我不知道有任何 WCF 设置来强制执行该设置 - 你必须深入研究网络堆栈,看看是否有任何方法可以让它使用 IPv4 地址而不是 IPv6。” 所以我想知道是否有办法规范化客户端的 IP 地址(所以我将只以一种格式记录 IP)
    • 这基本上是关于您支持哪些网络协议。以一种不是很有帮助的方式,我不知道您将如何在服务中禁用 IPv6,因为它实际上是在操作系统中低得多的级别处理的。您也许可以尝试查找 IPv4 地址?...我刚刚找到了这个:msdn.microsoft.com/en-us/library/…
    • 谢谢,我会调查的
    猜你喜欢
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多