代码改变世界

【转载】Silverlight可否实现获取本地IP,主机名呢

2010-03-05 18:25  Virus-BeautyCode  阅读(2267)  评论(0编辑  收藏  举报

原文地址:Silverlight可否实现获取本地IP,主机名呢

 

 

 #region ICompany Members

        public string getip()
        {
            return HttpContext.Current.Request.UserHostAddress;
        }

        #endregion

 

 

 

就几个关键点,没有完整代码:
Request.UrlReferrer   取上一访问地址
获取客户端ip
userip   =   Request.ServerVariables("HTTP_X_FORWARDED_FOR")这个是代理的ip  
userip2   =   Request.ServerVariables("REMOTE_ADDR")这个是真实的ip
发送请求的客户或客户代理的主机名
request.servervariables("REMOTE_HOST")

文章来自学IT网:http://xueit.com/html/2009-11-15/21-181067219893.html

 

 

Silverlight运行在一个受限的环境中,很多本地资源是无法访问的,但是我们可以通过在ASPX页面里写代码获取IP地址,然后传给Silverlight控件。

 

比如(原文地址):

 

1,在aspx页面里添加aspTongue Tiedilverlight控件;

2,在页面的后台代码的Page_Load里加入如下代码:

Code Snippet
Silverlight1.InitParameters = "IpAddress=" + HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];  

 

 

 

3,在Silverlight项目的App.xaml.cs里添加如下代码到Application_Startup 中:

Code Snippet

private void Application_Startup(object sender, StartupEventArgs e) {   

  // Load the main control   

  string ip = e.InitParams["IpAddress"];   

  this.RootVisual = new Page(ip);   

}  

 

 

4,修改Page.xaml.cs的构造器接受参数:

Code Snippet

public Page(string ipAddress) {   

  

}