配置IISExpress 8以使用ASP.NET来处理.gif文件的请求?

时间:2014-11-13 09:28:06

标签: iis visual-studio-2013 asp.net-mvc-5 iis-express

我正在尝试为运行Visual Studio 2013的开发计算机上的MVC网站中的.gif文件获取自定义图像处理程序。我基于Scott Hanselman的一篇文章,其中包含动态生成一个png。

我有一个继承自IHttpHandler并实现ProcessRequest方法的类(我不认为代码是相关的,所以我不包括它)。我已经在web.config中添加了一个条目,如下所示:

<system.webServer>
    <handlers>
        <add name="ImageHandler" verb="*" path="*.gif"  type="StaticContentWorkbench.Infrastructure.CustomGIFHandler" />

不幸的是,这不起作用所以我做了一些研究,发现我可能需要改变IIS配置,以便.gif文件由ASP.NET处理。我尝试在最后一个条目之前的IISExpress application.config文件的system.webserver - handlers部分添加一个条目:

<add name="PageHandlerFactory-ISAPI-4.0_64bit_Add_Gifs" path="*.gif" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />

然而,这也没有奏效,现在我几乎陷入困境。

如何正确配置IISExpress 8以使用ASP.NET处理.gif文件的请求?

1 个答案:

答案 0 :(得分:0)

我有同样的问题, 对我有用的是这个

<system.webServer>
<handlers>
          <add verb="GET,HEAD" name="DocHandler" 
             path="*.pdf" 
             type="Web.DocHandler" />

</handlers>
</system.webServer>

问题是你需要单独映射每个扩展,你不能在路径属性中放置多个扩展名。

在您的情况下,尝试指定您需要的动词而不是*

希望这有帮助