我想在web.config中配置自定义的IHttpHandler,我不明白我得到的行为。我正在尝试使用IIS Express。ASP.NET MVC中的自定义IHttpHandler映射
这是web.config中的我Sytem.WebServer部分看起来像:
<system.webServer>
<modules runAllManagedModulesForAllRequests="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="dynamicPngHandler" verb="*" path="*.png" type="ImagServingTest.HttpHandler.PureCustomPngHandler, ImagServingTest"/>
</handlers>
</system.webServer>
的http://本地主机:48705 /为Default.png(不工作,我得到一个404)
http:// localhost:48705/something/default.png(不工作,我得到一个404)
http:// localhost:48705/something/something/default.png(不工作,我得到a 404)
http ://本地主机:48705 /事/某事/某事/为Default.png(作品)
我不明白为什么会这样。为什么映射失败,直到我在localhost之后有三个部分的url? 我想象一下,这是一个MVC4应用程序很重要(尽管我看不出为什么)。
UPDATE
我已经试过这使用web表单,而不是MVC和它的作品如预期。
在MVC项目中,我试图移动定制的处理程序,以便它是第一个处理程序web.config中名单上,它仍然没有奏效。
system.webServer/handlers部分由iis使用。但是,您的adddress(localhost:48705)表明您正在使用使用其他处理程序部分(system.web/httpHandlers)的vs集成Web服务器。 –
不要认为是这种情况,即使在使用vs集成web服务器时,它仍然是集成模式。我曾尝试将处理程序映射添加到httpHandlers中,并且收到验证错误消息(如果您尝试在集成模式下添加该配置,则会得到相同的结果)。还尝试关闭验证:system.webServer /验证validateIntegratedModeConfiguration =“false”并具有这两种配置。也没有工作。 – Rui