安装VS2010后,网站不能使用.net 4.0
在IIS7中部署了MVC2.0的程序,打开浏览器输入地址(绑定的端口是87,87端口在chrome有个问题,等下再说):http://localhost:87,但是访问失败,
以为.NET4.0虽然安装了,但还未在IIS上注册,于是使用aspnet_regiis.exe -ir 命令,完成后重启IIS,刷新页面,问题还没有解决。注册过程中出现一些错误,于是又看了一下log文件,有一个failure,不过只是因为没有找到桌面上的一个asp.net application,所以应该不是由这个错误引起。问题应该是IIS上这个网站没有使用.net4.0引起的,所以在IIS中看了一下网站和应用程序池的属性,发现这个网站的应用程序池中“.NET FRAMWORK版本”一列中的值为"v2.0",于是右击,选择“设置应用程序池默认设置”,修改了.net版本,重启IIS,在IE9中成功浏览该网站。但在chrome中,却不成功:
google了一下,原来87端口会被chrome视为不安全端口,只要在chrome快捷方式中加入一个参数:explicitly-allowed-ports=87 就行了,不过我不喜欢这样,于是将端口改成85,问题解决了。
不过对于chrome为什么将87端口视为不安全,google并没有给出答案,只是千般一律地告诉你在快捷方式加入这个命令就可以解决了。我其实很不满意这种使人“知其然而不知其所以然”的答案,就像你问人“我电脑启动不了”,那人告诉你“重装系统吧”一样,虽然很可能会解决问题,但还是不清楚问题原因是什么。当然,很多实用派的人会说“问题解决了就行啊,管它什么问题”,这样的观点也没什么问题,但如果能了解原因,可以帮我们积累经验和知识,当下一个问题出现,而找不到解决问题的银弹的时候,这些经验或者知识就更好帮你解决问题了,例如下一次电脑不能启动,但原因是硬盘有问题,如果我们以前总是不能启动就重装的话,这时我们无论重装N次也徒劳。如果我们平时能注意寻找问题原因,积累判断问题和解决问题的经验,就很容易判断到这是硬件的问题。
以上是我的一点观点。于是我到google english上查找一下,有一个人写的blog说道了这个问题:Why does Chrome consider some ports unsafe?
先mark一下,搞掂手头的工作,再去研究一下。