【问题标题】:Get Requesting Domain Name from WCF request?从 WCF 请求中获取请求域名?
【发布时间】:2009-08-12 15:52:50
【问题描述】:

我问了这个问题:Get the domain name of a WCF request?

是否无法从 WCF 请求中获取请求域?那么对于不需要认证的匿名请求,如何获取域名呢?

【问题讨论】:

    标签: wcf .net-3.5


    【解决方案1】:

    我认为您对 TCP/IP 的工作原理有一些误解。首先,并非世界上的每一台计算机或进程都有一个 URL。所以问“请求者的 URL 是什么”(就像你在上一个问题中所做的那样)是一个毫无意义的问题。

    询问发起请求的机器的 DNS 名称稍微有意义一些。并非互联网中的每台机器都有 DNS 名称,但很多都有。要找出机器的 DNS 名称,您首先需要它的 IP 地址,如果您通过 TCP 或 UDP 收到来自机器的请求(因为这将包括请求者的 IP 地址),则您需要该地址。然后您可以执行反向 DNS 查找以确定 DNS 名称;这是否给你任何东西,或者结果是否正确取决于如何为请求者管理反向 DNS。

    根据this blog entry,您可以使用IncomingMessageProperties,查看RemoteEndpointMessageProperty,找出远程IP 是什么。

    【讨论】:

    • 实际上,您可能仍然没有请求者的实际 IP 地址。您可能正在获取代理服务器或 NAT 设备的地址。
    • 好点。我没想到!我想我的印象是我们的请求将来自特定域。我想补充 Google Maps API 密钥之类的东西。他们以某种方式将域名嵌入到密钥中。
    猜你喜欢
    • 1970-01-01
    • 2017-07-02
    • 2013-06-18
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2011-11-10
    • 1970-01-01
    相关资源
    最近更新 更多