前段时间有2次遇到asp.net项目部署到IIS7的问题。什么问题呢?就是好像系统无法识别asp.net页面,看上去根本没有装net framework一样。在IIS上重新注册了.net framework也不行。访问IIS根目录是可以的,但一访问到其下部署的应用就不行。
这两次部署的项目,有个共同点就是都有一些老旧的代码,可能用到了经典模式。但我们部署在集成模式下。其实已经验证过了,不管是经典模式还是集成模式,都报错。
后来在web.config加了一两句就好了。
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
第一句,验证集成模式配置。说是不会影响应用的各种操作,只是告诉IIS遇到一些典型配置错误时别声张。相当于降低了系统报警灵敏度。
第二句就是将所有的请求都当成asp.net页面来处理。这个是以牺牲性能为代价的。
当时报的什么错已经不记得了,没有记下来。这里只是作一个补救,仅记录在案而已。