Asp.net检测系统是否装有.net环境

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

怎么去检测你的系统是否安装有微软.net框架?

作为一个web开发人员,你可能会提出这样一个有趣的问题:有没有方法去探测你的机器是否装有.net环境?答案就是,当然!(否则,我就不会在这里写这篇文章,你也不会现在在读它:P)。这探测的方法惊人的简单,甚至外行也很容易掌握它!

当你安装.net框架,它不只只是增加一个新程序在你的PC上,也同时更改了一些已存在程序的行为。例如,它更改了IE浏览器的一些东西——它修改了你IE的用户代理信息(User-Agent),所以它包括.net框架的版本信息。

我在讲什么?我们可以去看一个示例:Asp.net's Web Matrix Project page,然后点击链接:“Click here to see if you have the.NET Framework installed.“。然后下面一个页面会告诉你你是否装有.net环境。

它们是怎么做到的?让我们来看一看当你点击链接时实际发生了什么:

看Http头中这高亮显示的一行:

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)

在没安装.net环境之前,它的内容为“User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)“.现在,.net环境被安装,它就多了一些扩展的信息——NET CLR 1.0.3705。这个新的内容可用来探测.net框架在Asp/Asp+页面中。

例如,你可在页面page_load函数中写下如下句子:

string a = Request.ServerVariables["HTTP_USER_AGENT"];//取得头

if (a.IndexOf(".NET CLR 1.0.3705")<0)//检测

{ Response.Write(".net 不对"); }

else { Response.Write(".net 对"); }

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航