[英]HTTPModule Only Getting Called Once Per Page
我正在嘗試為ASP.NET實現自定義HTTPModule。 我有一個非常簡單的html頁面,其中包含一個圖像和一個掛接到BeginRequest事件中的HTTPModule。 當我使用Visual Studio的dev Web服務器進行調試時,我的模塊被調用兩次:一次用於初始頁面請求,然后一次用於圖像請求。 這是我所期望的。 但是,當我將應用程序部署到IIS時,對於頁面請求,該模塊僅被調用一次。 我不明白為什么。 有任何想法嗎? 謝謝。
我猜您正在將IIS6或IIS7與經典托管管道模式一起使用。 在這種情況下,您的ASP.NET應用程序僅接收映射到isapi.dll
請求。 通常,這些請求包括帶有以下擴展名的請求: aspx
, ashx
, asmx
,...請在此處查看更多信息。
對其他擴展的請求直接由IIS處理,因此它們永遠不會到達您的HTTP模塊(該模塊作為ISAPI擴展的一部分運行)。
在IIS7和更高版本中,Microsoft已將管道集成到IIS中。 這意味着所有請求都將貫穿整個ASP.NET管道。
正如喬恩(Jon)所建議的,另一種可能性是圖像被緩存在某個地方。
首先要檢查的是:是否真的針對該圖像聯系過服務器? 它在客戶端緩存中嗎?
第二件事要檢查:它是否正在服務器端緩存?
嘗試直接在瀏覽器中加載圖像本身的URL……並可能在末尾添加?foo=bar
之類的內容以執行一些原始的緩存清除操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.