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

Directory httphandler文件类型映射需要虚拟目录(或者是否需要虚拟目录?),directory,mapping,virtual,httphandler,ashx,Directory,Mapping,Virtual,Httphandler,Ashx,我正在使用httpHandler将*.gif文件的所有请求传递给ashx处理程序。我只想这样做的要求,以一个子文件夹内的网站。网站根名为“demo”,子文件夹名为et。因此,我向et文件夹添加了一个web.config文件,其条目如下: 这还不足以将所有*.gif请求传递给ashx-我还需要添加一个应用程序扩展名,将.gif文件的请求指向aspnet_isapi.dll。除了让et文件夹成为一个虚拟目录(我真的不想这么做),我找不到任何方法来实现这一点。不管怎样,我将et设置为virt dir

我正在使用httpHandler将*.gif文件的所有请求传递给ashx处理程序。我只想这样做的要求,以一个子文件夹内的网站。网站根名为“demo”,子文件夹名为et。因此,我向et文件夹添加了一个web.config文件,其条目如下:

这还不足以将所有*.gif请求传递给ashx-我还需要添加一个应用程序扩展名,将.gif文件的请求指向aspnet_isapi.dll。除了让et文件夹成为一个虚拟目录(我真的不想这么做),我找不到任何方法来实现这一点。不管怎样,我将et设置为virt dir,然后设置映射,一切都会正常工作。如果我删除了et的virt dir应用程序,整个程序就会继续工作。这对我来说意味着必须有一种方法来设置*.gif映射,而不必创建virt dir,然后再次删除它

有人知道这是怎么回事吗


非常感谢。

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

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

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

希望有帮助