2009-10-21 53 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" /> 

希望有所幫助。