IIS核心模式快取導致串號問題

2021-06-21 06:44:16 字數 1867 閱讀 8222

最近系統遇到乙個很不可思議的問題,在使用過程中出現介面顯示的名字不是使用者自己的名字,而是變成另乙個人的名字,出現了串號現象。經過不斷的除錯追蹤,終於找出了問題癥結所在,就是配置了iis核心模式快取。為了說明問題,寫了兩個測試頁面:

第乙個頁面:default.aspx模擬使用者登入

前端部分:

iis-輸出快取-新增:

副檔名 .aspx

核心模式快取

檔案快取監視 使用檔案更改通知

後端部分:

using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.web.ui;

using system.web.ui.webcontrols;

namespace testcache

protected void button1_click(object sender, eventargs e)}}

第二頁面:展示使用者名稱

前端部分

後端部分:

using system;

using system.collections.generic;

using system.linq;

using system.web;

using system.web.ui;

using system.web.ui.webcontrols;

namespace testcache}}

配置iis核心模式快取

1.開啟iis選擇輸出快取

2.配置輸出快取加上,副檔名.aspx,勾選核心模式快取,使用檔案更改通知

3.配置結果如下

使用者chrome和ie分別開啟default.aspx頁面

ie用user1登入,chrome用user2登入:

不斷重新整理兩個瀏覽器

會發現ie也變成user2,這就是看到使用者串號的結果。

輸出快取是會保留頁面的副本,不會執行頁面的**的。為了保持正確,如果設定了核心模式快取可以在頁面url加上請求引數來區別,如

如果使用了使用者模式快取,則要在高階設定裡面加上請求引數如:

結語:在iis設定輸出快取得注意了,這個是對全域性有效的,如果頁面顯示的內容跟使用使用者許可權有關的,那麼可能導致整個系統不可以用。

SqlAlchemy快取機制導致的問題與解決方法

最近寫 時發現乙個問題,邏輯如下 def test self,employee id,name row self.db.query employee filter employee.id employee id first employee.batch update self.db.commit r...

瀏覽器快取導致的跨域問題

在聽網課,然後載入頁面出現乙個bootstrap的元件不能使用,檢視控制台出現跨域問題,使用另乙個瀏覽器也出現同樣的問題 找到nginx的配置檢視www.xuecheng.com 確實沒有配置ucenter.xuechneg.com跨域訪問,配置之後 依舊問題不變,我清理了乙個瀏覽器的記憶體後就完美...

IE6非同步請求快取導致的亂碼問題

近日在公升級kissy的過程中,在ie6下遇到乙個很奇怪的問題 頁面編碼是gbk,ji和css檔案是utf 8的,當使用者要使用某些功能時頁面會彈出迷你登入框提示使用者登入,會傳送非同步請求,獲得登入框的模板,編碼是和js一致的 utf 8 第一次是ok的,但當重新整理頁面第二次彈出登入框時,問題來...