0
我找不到没有aspx页面的IP地址(所以在Linux服务器上)。如果它可以通过wcf工作,那么它也很好。获取IP地址(当没有ASP.NET可用(在Linux服务器上))
我找不到没有aspx页面的IP地址(所以在Linux服务器上)。如果它可以通过wcf工作,那么它也很好。获取IP地址(当没有ASP.NET可用(在Linux服务器上))
我认为最好的选择是让Web服务将IP地址返回给Silverlight客户端,前提是您可以在应用程序中使用WCF。我不相信直接在Silverlight中获取客户端IP的直接方式。
就这样一个简单的Web方法应该工作:
[OperationContract]
public string GetClientIpAddress()
{
return HttpContext.Current.Request.UserHostAddress;
}
您可能无法如果请求是通过代理服务器来获得实际的客户机IP地址,但你可以检查HTTP_X_FORWARDED_FOR头以及如果可用的话。
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
我不会依赖,作为一个可靠的客户端IP地址,虽然,因为不是所有的代理服务器遵守这一HTTP头,它也很容易被欺骗。
您可以请扩展您正在尝试完成的任务吗?我不确定你想要做什么。什么IP地址?在客户端或服务器上的那个? – 2009-12-30 15:00:12
我的错误,我的意思是客户端IP地址。 我尝试使用WebClient的一个小的API http://www.hostip.info给出地址的位置,但不是IP。 http://www.whatismyip.com/automation/n09230945.asp(甚至http://www.google.com/)在WebClient的DownloadStringCompleted中给出SecurityException:安全错误。我找不到原因。 – user240617 2009-12-31 06:28:16