提问人:user1643557 提问时间:9/3/2012 最后编辑:Daviduser1643557 更新时间:9/3/2012 访问量:3971
在 asp.net 中检索客户端计算机信息
Retrieve Client machine infomation in asp.net
问:
我开发了一个使用 asp.net 的 Web 表单来检索机器信息(RAM、HDD 空间、处理器......等等)但是当我托管Web表单时,它只检索服务器计算机的值。如何通过从任何计算机登录该表单来获取这些信息?
答:
1赞
Gregor Primar
9/3/2012
#1
Asp.net 页面始终位于服务器端。HTML 是此服务器的产品,默认情况下,您只能从客户端计算机获取有限的信息,如下所示:
string browserInfo =
"RemoteUser=" + context.Request.ServerVariables["REMOTE_USER"] + ";\n"
+ "RemoteHost=" + context.Request.ServerVariables["REMOTE_HOST"] + ";\n"
+ "Type=" + context.Request.Browser.Type + ";\n"
+ "Name=" + context.Request.Browser.Browser + ";\n"
+ "Version=" + context.Request.Browser.Version + ";\n"
+ "MajorVersion=" + context.Request.Browser.MajorVersion + ";\n"
+ "MinorVersion=" + context.Request.Browser.MinorVersion + ";\n"
+ "Platform=" + context.Request.Browser.Platform + ";\n"
+ "SupportsCookies=" + context.Request.Browser.Cookies + ";\n"
+ "SupportsJavaScript=" + context.Request.Browser.EcmaScriptVersion.ToString() + ";\n"
+ "SupportsActiveXControls=" + context.Request.Browser.ActiveXControls + ";\n"
+ "SupportsJavaScriptVersion=" + context.Request.Browser["JavaScriptVersion"] + "\n";
如果你想得到RAM,HDD,...您应该开发 ActiveX 控件,并且客户端必须安装它。
评论
0赞
user1643557
9/3/2012
谢谢Primar@Gregor。顺便问一下,我需要添加任何引用吗?
0赞
Gregor Primar
9/3/2012
在页面上下文中,您不需要为上面的代码块添加任何引用。仅供参考 HttpContext context context = HttpContext.Current;
1赞
Fedor Hajdu
9/3/2012
#2
简单地说,你不能那样做。唯一的可能是使用ActiveX,这将要求用户运行IE(而不是其他浏览器)并允许您的网站访问该信息。
大多数用户不允许您获取该信息(出于安全原因),因此您不能指望它。
评论
0赞
user1643557
9/3/2012
它的任何示例应用??因为我对 activeX 不太满意:(
0赞
Fedor Hajdu
9/3/2012
下面是一个示例,演示如何使用 C# 和 ActiveX 获取客户端 MAC 地址。c-sharpcorner.com/uploadfile/ahsanm.m/......
上一个:客户端本地化
评论