IIS7和之前的IIS5/IIS6有很大的不同,这不仅仅体现在外观界面上,其内在的实现机制和原理也有很大的不同,当然本篇文章的主旨不会去讨论它们之间的不同,也不会去涉及IIS7的设计理念,笔者的出发点只是在Windows Server 2008上对IIS7的一次部署安装项目的经历。
一、初窥IIS7
实际上在Windows Server 2008 R2(64 bit)系统上的IIS版本确切地说应该是IIS7.5。当然并不是在你安装完系统后,IIS就会默认安装,这还需要我们手动去选择安装相应的组件,至于具体的安装过程,有需要的童鞋请移步我的另外一篇文章的开头部分:http://www.cnblogs.com/panchunting/archive/2011/09/26/SQLServer2005_WindowsServer2008R2x64.html,安装完IIS后,我们就可以启动它了,直接在CMD中键入inetmger即可
接下来我们就会看到IIS的管理界面
我们可以通过如下界面来查看IIS的版本
二、部署项目
接下来我们就进行具体的项目部署,言语比较繁琐,所以主要以截图为主
接下来我们Browser一个页面,结果会出现如下错误
我们可以通过在Web.config配置如下节点来解决此问题:
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> </system.webServer>
三、小结
本篇文章的重点其实就是一次部署经历,关注的点也不多,重在了解和实践,尤其是第二部分,笔者只是在列举和陈述相应的步骤,至于为什么这么做没有做进一步的探究,以其不要把读者引入更多的谜团之中,至于有需要进行更深入的童鞋请自行移步Google,笔者就不在此copy别人的文章了。
第二部分的注意点:选择新建"虚拟目录",读者也可以选择新建"网站";要记得转化成Application并且Application Pool要选择Classic .NET AppPool;要在Web.config配置文件中添加相应的配置节点,否则无法编译。(注:此项目.NET版本为2.0)
最后给出一些关于疑惑问题的链接:
- DefaultAppPool和Classic .NET AppPool区别:http://stackoverflow.com/questions/759304/what-is-the-difference-between-defaultapppool-and-classic-net-apppool-in-iis7;
- 出现错误AN ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode:http://www.siusic.com/wphchen/an-aspnet-setting-has-been-detected-that-does-not-apply-in-integrated-managed-pipeline-mode-349.html 和 http://forums.asp.net/t/1220358.aspx
- ASP.NET 2.0 Breaking Changes on IIS 7.0问题列表:http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/