获取IP地址(当没有ASP.NET可用时(在linux服务器上))

时间:2009-12-30 03:27:10

标签: silverlight ip-address

我找不到没有aspx页面的ip地址(所以在linux服务器上)。如果它可以通过wcf工作那么它也很好。

1 个答案:

答案 0 :(得分:1)

我认为,如果您能够在应用程序中使用WCF,最好让Web服务将IP地址返回给Silverlight客户端。我不相信有任何直接的方法可以直接在Silverlight中获取客户端IP。

这样一个简单的网络方法应该可行:

[OperationContract]
public string GetClientIpAddress()
{
    return HttpContext.Current.Request.UserHostAddress;
}

如果请求通过代理服务器,您可能无法获取实际的客户端IP地址,但您也可以检查HTTP_X_FORWARDED_FOR标头并使用该标头(如果可用)。

HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

我不会依赖它作为可靠的客户端IP地址,因为并非所有代理服务器都尊重该HTTP标头,并且它也可能很容易被欺骗。

相关问题