怎么去检测你的系统是否安装有微软.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 对"); }