0

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

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

有人知道这里发生了什么吗?

非常感谢。

4

1 回答 1

0

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

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

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

希望有帮助。

于 2009-10-21T07:59:08.190 回答