我开发了一个Web服务并将其托管在我的服务器上,我想知道谁在使用这个Web服务(站点Url)。我试着使用“Request.UrlReferrer”,但它没有返回任何东西!任何建议/意见?
答案 0 :(得分:3)
您无法获取Web服务调用者的URL,因为并非所有调用者都具有规范URL。但是,您可以获取IP地址,假设它们不在代理/ nat之后。在这种情况下,您将获得nat / proxy的IP。
假设您使用ASMX网络服务,可以通过以下方式进行:
HttpContext.Current.Request.UserHostAddress
获得IP地址后,您可以尝试进行反向查找以获取主机名。我建议存储IP地址,然后写一个离线进程,然后尝试确定谁拥有IP。我确信有一些网络服务可以帮助解决这个问题。
答案 1 :(得分:0)
您可以使用Request.Url属性获取有关Web服务请求的所有信息。
答案 2 :(得分:0)
引荐来源由客户端设置,客户端可以不设置它。这就是你什么也看不见的原因。如果客户端是服务器,那么您可以做的最好的事情是获取客户端连接的IP并转到该IP。如果是一个没有虚拟主机的简单设置,那就是“网站”即将到达您的网络服务。
答案 3 :(得分:0)
作为Josh states,HttpRequest对象是可行的方法,那里有一些可能有用的属性:
这可能会为您提供更多信息。