httphandler文件类型映射需要虚拟目录(或者是吗?)

时间:2009-10-21 07:52:27

标签: directory mapping virtual httphandler ashx

我正在使用httpHandler将* .gif文件的所有请求传递给ashx处理程序。我只想对网站内子文件夹的请求执行此操作。网站根名为'demo',子文件夹名为et。因此,我将一个web.config文件添加到et文件夹,其条目如下:

这还不足以将所有* .gif请求传递给ashx - 我还需要添加一个应用程序扩展来将.gif文件的请求指向aspnet_isapi.dll。除了将et文件夹设为虚拟目录(我真的不想这样做)之外,我找不到任何办法。无论如何,我将et设置为virt dir,然后设置映射,一切正常。如果我然后删除virt dir应用程序,整个事情继续工作。这告诉我必须有一种方法来设置* .gif映射,而不必创建virt目录然后再​​次删除它。

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

非常感谢。

1 个答案:

答案 0 :(得分:0)

您是否使用IIS和ASP.NET设置了处理?我知道我遇到了问题,因为IIS在ASP有任何机会做任何事情之前都会收到请求。

如果您使用的是IIS 7.0,我建议您使用新的集成管道。这种问题将会消失。我成功地为目录实现了Http处理程序而没有做任何特殊配置,只需将以下内容添加到httpHandlers节点:

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

希望有所帮助。