今天在使用代码生成器时在生成完解决方案,进行浏览时出现了问题。
看到这个问题,下意思的就会想去调整IIS的托管管道改为经典模式,但是还是先查查资料,发现还有一种简单的方法能够处理这个问题。只需要在配置文件中添加下面节点即可
<system.webServer> <validation validateIntegratedModeConfiguration="false"/> </system.webServer>
应用程序池模式会影响服务器处理托管代码请求的请求方式,借此机会也复习下什么是IIS应用程序池中的集成模式和经典模式
1.经典模式
如果托管应用程序在采用经典模式的应用程序池中运行,服务器会继续通过 Aspnet_isapi.dll 路由托管代码请求,其处理请求的方式就像应用程序在 IIS 6.0 中运行一样。经典模式是与IIS 6或者之前版本保持兼容的一种模式,一个典型问题就是,在处理ASP.NET这种动态网站的时候,它是通过一个所谓的ISAPI程序,作为插件的方式来工作的。针对不同的动态应用程序(例如ASP,PHP等),会需要不同的ISAPI。
2.集成模式
集成模式是一种全新的模式。如果托管应用程序在采用集成模式的应用程序池中运行,服务器将使用 IIS 和 ASP.NET 的集成请求处理管道来处理请求。集成模式允许我们将ASP.NET更好地与IIS集成,甚至允许我们在ASP.NET中编写一些功能(例如Module)来改变IIS的行为(扩展)。集成的好处是,不再通过ISAPI的方式,提高了速度和稳定性。至于扩展,则可以使得我们对于IIS以及其他类型的请求有更多的控制。