由于SILVERLIGHT是基于纯客户端的机制实现的,想在SL中获取客户端计算机信息暂时还没有效的解决方案。
一般都是基于WCF 、 WebService 等在服务端获取发送请求机器的信息,然后再返回客户端,该方法可以实现;
同时可以在宿主页面Aspx.Cs中获取,作为初始参数传给SL。代码为:
private void SaveSilverlightDeploymentSettings(Literal litSettings) { NameValueCollection appSettings = ConfigurationManager.AppSettings; StringBuilder SB = new StringBuilder(); SB.Append(“<param name=/”InitParams/” value=/””); int SettingCount = appSettings.Count; for (int Idex = 0; Idex < SettingCount; Idex ) { SB.Append(appSettings.GetKey(Idex)); SB.Append(“=”); SB.Append(appSettings[Idex]); SB.Append(“,”); } SB.Append(“IpAddress=”); SB.Append(GetClientIP()[0]); SB.Append(“,”); SB.Append(“PcName=”); SB.Append(GetClientIP()[1]); SB.Append(“/” />”); litSettings.Text = SB.ToString(); } /// <summary> /// 获取当前客户端的IP /// </summary> /// <returns></returns> public string[] GetClientIP() { string[] HostInfo = new string[2]; IPHostEntry MyEntry = Dns.GetHostByName(Dns.GetHostName()); IPAddress MyAddress = new IPAddress(MyEntry.AddressList[0].Address); HostInfo[0] = MyAddress.ToString(); HostInfo[1] = Dns.GetHostName(); return HostInfo; }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184196.html原文链接:https://javaforall.cn