之前在iis7上部署网站,遇到了集成模式和httphandler的问题,googlebaidu了一番,大致问题是iis6之前和iis7经典模式httphandler配置在<system.web>节下,而在iis7新的集成模式下,httphandler应该配置在<system.webserver>节下,名称也变成了handler。
当时想找一种在经典模式和集成模式下通用的配置方法,试了很多方法,包括微软提供的命令行迁移工具,都没成功。今天偶然间又想起这个问题,发现只要在<system.webserver>节下加一项validation就可以解决问题,代码如下:
这样子既可以在集成模式下忽略验证,又在经典模式下依然使用httphandler中的设置,只是不知道忽略了集成模式的验证会有什么副作用没有。
当时想找一种在经典模式和集成模式下通用的配置方法,试了很多方法,包括微软提供的命令行迁移工具,都没成功。今天偶然间又想起这个问题,发现只要在<system.webserver>节下加一项validation就可以解决问题,代码如下:
<system.webServer>
<handlers>
<remove name="ChartImageHandler" />
<add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST"
path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>
<validation validateIntegratedModeConfiguration="false"/>
</system.webServer>
这样子既可以在集成模式下忽略验证,又在经典模式下依然使用httphandler中的设置,只是不知道忽略了集成模式的验证会有什么副作用没有。