我找不到没有aspx页面的ip地址(所以在linux服务器上)。如果它可以通过wcf工作那么它也很好。
答案 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标头,并且它也可能很容易被欺骗。