我有一个处理程序,在运行时它会在特定文件夹的图像上创建水印。问题在于它有效,但现在却没有。
我所做的就是改变托管。
我的web.config
看起来像这样:
<handler>
<add verb="*" name="ImageWatermarkHandler" type="ImageWatermarkHandler"
path="Pics/*.jpg,Pics/*.png" modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll"
resourceType="Unspecified" preCondition="integratedMode" />
</handler>
你能帮帮我吗?
答案 0 :(得分:7)
在IIS 7下,您必须在web.config的configuration/system.webServer/handlers
元素下指定自定义http处理程序和模块(与旧版IIS不同,其中元素为configuration/system.web/httpHandlers
)。
集成模式(您只需要处理程序部分)和经典模式(您需要处理程序和httpHandler)之间存在差异。有关详细信息,请参阅MSDN entry
编辑:首先我没有注意到集成模式的前提条件,新主机是否可以在经典模式下运行您的应用程序?
答案 1 :(得分:3)
您的配置文件应该如下所示,
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="Pics/*.jpg,Pics/*.png" type="ImageWatermarkHandler"/>
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add verb="*" path="Pics/*.jpg,Pics/*.png" name="ImageWatermarkHandler" type="ImageWatermarkHandler"/>
</handlers>
<validation validateIntegratedModeConfiguration="false"/>
</system.webServer>
</configuration>
了解更多信息, http://msdn.microsoft.com/en-us/library/bb515343.aspx