某些版本的IIS可能有SessionID混淆的Bug

某公司爲我服務的甲方公司開發一個挺重要的應用.已經上線了一年多了,不停的修修改改.也算正常使用.正所謂,秀恩愛,死得快.No 做就No Die.也少知道是那個Smarty Pants閒的蛋疼說新修改的這版咱不在Windows2003上玩了.我們改在Windows2008上玩吧. 在這裏我要插一句.我們碼畜界有三個真理緩存

第一: 程序要運行的好好的,別賤賤的去重構.測試

第二:若是你修改了程序,還更改了環境.你丫死定了code

第三:若是你改了程序,還換了環境,還用了你不太熟的東西.你死了都活該,必有詭異的事搞死你.教程

這羣人就把這三點都遇上.程序原本好好的,非修改了一版.改了就改了唄.大家也沒用啥Windows2008上特有的新特性.還把要求把程序從運行的好好的Windows2003遷移到Windows2008.(注意,我不是說不讓你用Windows2008.但沒事換環境,主不祥).遷就遷了.還找了個這些都不太熟的測試妹妹部署.天意,造化弄人.開發

上線之後就開始不斷接到用戶打來電話投訴.兄弟我企業A登錄正操做的好好的,點了個連接轉身就變成企業B了.企業B的所有信息我都能看到.部署

開發公司一口咬定這是我服務的甲方公司的部署問題.甲方公司堅決的認爲這是開發公司代碼問題.但胳膊擰不過大腿.甲方一手派人查環境,一手要求開發方查代碼.而後緊急把環境停了.get

代碼從早上十點查到查到晚上3點.開發方提出過各類好笑的理由.好比IP地址是電信的云云.而後就我就被拉過來作陪死鬼.叫我幫他們Review代碼. 我從共享變量的角度看了一下(吐槽一下.裏面一堆無聊的單件模式.也不知道帶頭理解的單件模式.你乾脆全改爲靜態方法得了).感受代碼沒問題. 就和甲方說"代碼沒問題." 沒想到人不太能太實在.甲方告知接着看.看出問題爲止.不解決你就在這陪死. 操!操!操!操!io

好吧.哥們實在感受代碼沒問題.因而偷偷的上網搜一搜.通過一個小時的搜索.也不在哪看到個貼子回覆裏說,有多是緩存問題.因而私下叫來配置管理的小妹妹,叫她給我開個環境我上去看看.發現是IIS7.5. 咱們知道II7之後增長了一個牛B功能就是可能緩存動態內容.會不會是這個問題呢?死馬當成活馬醫吧.在請示了甲方領導之後,我作了以下操做.event

*在IIS裏打開要修改的站點 *轉到功能視圖,選擇輸出緩存 *新建一個規則 *輸入一個擴展名.aspx *點擊用戶模式緩存,選擇Prevent all caching *一樣的操做應用在內核模式緩存變量

若是你想看圖文教程,請點這裏

而後

問題解決了.而後咱們先開開心心的回家了. 次日,試圖在另一臺機器上重現這個Bug,很遺憾.沒有成功.

後來查到這多是某個版本的Bug,你看看這人品

另外,若是你想查看IIS7如今的緩存內容.我告訴你一個命令.

netsh http show cachestate
相關文章
相關標籤/搜索