开发者

get ip address (when no ASP.NET available (on linux server))

I can't find the ip address without the aspx page (so on a linux server). If it can开发者_如何转开发 work through wcf then its also good.


I think your best bet is to let a web service return the IP address to the Silverlight client if you are able to use WCF in your application. I don't believe there is any straightforward way to get the client IP directly within Silverlight.

Just a simple web method like this should work:

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

You might not be able to get the actual client IP address if the request is going through a proxy server, but you could check the HTTP_X_FORWARDED_FOR header as well and use that if available.

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

I wouldn't depend on that as a reliable client IP address though, since not all proxy servers honor that HTTP header and it could also be easily spoofed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜