我正在使用httpHandler将* .gif文件的所有请求传递给ashx处理程序。我只想对网站内子文件夹的请求执行此操作。网站根名为'demo',子文件夹名为et。因此,我将一个web.config文件添加到et文件夹,其条目如下:
这还不足以将所有* .gif请求传递给ashx - 我还需要添加一个应用程序扩展来将.gif文件的请求指向aspnet_isapi.dll。除了将et文件夹设为虚拟目录(我真的不想这样做)之外,我找不到任何办法。无论如何,我将et设置为virt dir,然后设置映射,一切正常。如果我然后删除virt dir应用程序,整个事情继续工作。这告诉我必须有一种方法来设置* .gif映射,而不必创建virt目录然后再次删除它。
任何人都知道这里发生了什么?
非常感谢。
答案 0 :(得分:0)
您是否使用IIS和ASP.NET设置了处理?我知道我遇到了问题,因为IIS在ASP有任何机会做任何事情之前都会收到请求。
如果您使用的是IIS 7.0,我建议您使用新的集成管道。这种问题将会消失。我成功地为目录实现了Http处理程序而没有做任何特殊配置,只需将以下内容添加到httpHandlers
节点:
<add verb="GET" path="et/*.gif" validate="true" type="YourGifHttpHandler" />
希望有所帮助。