经典模式
指的是与IIS 6或者之前版本保持兼容的一种模式.
在IIS 6.0中的经典模式中,ASP.NET是一个添加到IIS中的ISAPI。IIS 7.0之所以支持这种模式,是为了做到向后兼容。但是,经典模式缺少许多集成模式才能提供的特性。在经典模式中,IIS拥有自身的管道,这些管道可以通过创建一个ISAPI扩展进行扩充,而ISAPI扩展是以难以开发而著称的。ASP.NET作为一个ISAPI扩展运行,只是IIS管道中的一项组成部分。
注意,在这种情况下,ASP.NET仅当IIS处理ISAPI扩展时才能够发挥作用。
利用文件扩展名,可以判断使用哪个ISAPI处理程序。例如,可以将扩展名为.aspx
和.ascx
的文件映射到aspnet_isapi.dll
;并且将扩展名为.asp
的文件映射到asp.dll
,这样就可以处理传统的ASP页面;此外,将扩展名为.php
的文件映射到php.dll
,这样就可以处理PHP页面,前提是已经安装了php.dll
。
集成模式:
这种全新的模式,允许我们将ASP.NET更好地与IIS集成,甚至允许我们在ASP.NET中编写一些功能(例如Module)来改变IIS的行为(扩展)。集成的好处是,不再通过ISAPI的方式,提高了速度和稳定性。至于扩展,则可以使得我们对于IIS以及其他类型的请求有更多的控制。
利用集成模式,可以将ASP.NET作为IIS的有机组成部分。现在,IIS服务器的功能被划分为40多个模块,因此也就将IIS和ASP.NET的功能划分为不同的组成部分。诸如StaticFileModule
、BasicAuthenticationModule
、FormsAuthentication
、Session
、Profile
,以及RoleManager
等模块都是IIS管道的组成部分。
注意,FormsAuthentication
、Session
、Profile
,以及RoleManager
原本就是ASP.NET的组成部分,与IIS并无关系。
文章转载自: IIS经典模式和集成模式的区别 http://www.studyofnet.com/news/254.html