【问题标题】:IP address in SilverlightSilverlight 中的 IP 地址
【发布时间】:2009-05-13 14:32:44
【问题描述】:

如果我的 Silverlight 控件托管在 HTML 中,有没有办法在 Silverlight 中获取客户端的 IP 地址?

【问题讨论】:

    标签: silverlight-2.0


    【解决方案1】:

    据我所知,没有直接的方法可以做到这一点。也许您可以创建一个 WebMethod 来实现这一点。或者其他一些技巧。

    查看这个帖子,有一些建议:http://silverlight.net/forums/t/34744.aspx

    【讨论】:

    • 是的!我知道网络服务方法的想法....但我认为可能还有其他解决方法....
    • 但是您认为为什么这是 silverlight 的限制?
    【解决方案2】:

    尝试下面列出的方法(第一个通常应该可以解决问题),或查看here 了解更多信息。

    Request.ServerVariables(”REMOTE_HOST”)
    HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]
    HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    Request.UserHostAddress()
    Request.UserHostName()
    string strHostName = System.Net.Dns.GetHostName();
    string clientIPAddress = System.Net.Dns.GetHostAddresses(strHostName).GetValue(0).ToString();
    

    【讨论】:

    • 这不适用于 html.. 它的参数在 Asp.net 的情况下传递.. 据我所知,这在 HTML 中是不可能的
    • @Chris 我已经尝试了所有方法,我正在使用带有 Silverlight 的 ASP.Net (.asmx) Web 服务。由于无法在 Silverlight 中找到客户端 IP 地址,因此我不得不在服务端登录。以上所有方法在我的本地系统上都可以正常工作,但是当我在生产服务器上发布我的服务时。它开始给出错误。
    • 错误:对象引用未设置为对象的实例。 StackTrace:在 System.Web.Hosting.ISAPIWorkerRequestInProc.GetServerVariable(String name) 在 System.Web.Hosting.ISAPIWorkerRequest.GetRemoteAddress() 在 System.Web.HttpRequest.get_UserHostAddress 的 System.Web.Hosting.ISAPIWorkerRequestInProc.GetAdditionalServerVar(Int32 索引) ()
    猜你喜欢
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2016-12-06
    • 2011-10-13
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多