2009-10-21 52 views
0

我正在使用httpHandler将* .gif文件的所有请求传递给ashx处理程序。我只想对网站中的子文件夹发送请求。网站的根目录被称为'demo',子目录被称为et。所以,我添加一个web.config文件到et文件夹中,条目如下: httphandler文件类型映射需要虚拟目录(或是否?)

这并不足以将所有* .gif请求传递给ashx - 我还需要向点请求添加应用程序扩展将.gif文件转换为aspnet_isapi.dll。我找不到任何方法来做到这一点,除了使et文件夹虚拟目录(我真的不想这样做)。无论如何,我将et设置为virt dir,然后设置映射并且它都可以工作。如果我然后删除virt dir应用程序,整个事情就会继续工作。这向我暗示,必须有一种方法来设置* .gif映射,而不必创建一个virt dir然后再将其删除。

任何人都知道这里发生了什么?

非常感谢。

回答

0

您是否设置了IIS以及ASP.NET的处理?我知道我有这个问题,因为在ASP有任何机会做任何事情之前,IIS会收到请求。

如果您使用IIS 7.0,我建议您使用新的集成管道。这种问题将会消失。我成功地实现HTTP处理程序的目录,而做什么特别的配置,只需添加以下到httpHandlers节点:

<add verb="GET" path="et/*.gif" validate="true" type="YourGifHttpHandler" /> 

希望有所帮助。