簡體   English   中英

每頁僅調用一次HTTPModule

[英]HTTPModule Only Getting Called Once Per Page

我正在嘗試為ASP.NET實現自定義HTTPModule。 我有一個非常簡單的html頁面,其中包含一個圖像和一個掛接到BeginRequest事件中的HTTPModule。 當我使用Visual Studio的dev Web服務器進行調試時,我的模塊被調用兩次:一次用於初始頁面請求,然后一次用於圖像請求。 這是我所期望的。 但是,當我將應用程序部署到IIS時,對於頁面請求,該模塊僅被調用一次。 我不明白為什么。 有任何想法嗎? 謝謝。

我猜您正在將IIS6或IIS7與經典托管管道模式一起使用。 在這種情況下,您的ASP.NET應用程序僅接收映射到isapi.dll請求。 通常,這些請求包括帶有以下擴展名的請求: aspxashxasmx ,...請在此處查看更多信息。

對其他擴展的請求直接由IIS處理,因此它們永遠不會到達您的HTTP模塊(該模塊作為ISAPI擴展的一部分運行)。

在IIS7和更高版本中,Microsoft已將管道集成到IIS中。 這意味着所有請求都將貫穿整個ASP.NET管道。

正如喬恩(Jon)所建議的,另一種可能性是圖像被緩存在某個地方。

首先要檢查的是:是否真的針對該圖像聯系過服務器? 它在客戶端緩存中嗎?

第二件事要檢查:它是否正在服務器端緩存?

嘗試直接在瀏覽器中加載圖像本身的URL……並可能在末尾添加?foo=bar之類的內容以執行一些原始的緩存清除操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM