Silverlight运行在一个受限的环境中,很多本地资源是无法访问的,但是我们可以通过在ASPX页面里写代码获取IP地址,然后传给Silverlight控件。
1.在aspx页面里添加asp silverlight控件;
2.在页面的后台代码的Page_Load里加入如下代码:
Silverlight1.InitParameters = "IpAddress=" + HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
3.在Silverlight项目的App.xaml.cs里添加如下代码到Application_Startup 中:
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的构造器接受参数:
public Page(string ipAddress) {
}
在ASP.NET中...
Request.UrlReferrer 取上一访问地址
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")这个是代理的ip
userip2 = Request.ServerVariables("REMOTE_ADDR")这个是真实的ip
request.servervariables("REMOTE_HOST") 发送请求的客户或客户代理的主机名