簡體   English   中英

.Net應用程序變量跨應用程序滲漏

[英].Net Application Variables bleeding across applications

我有兩個共享代碼庫的網站,因為它們本質上是同一網站,除了一個網站用於英國市場,另一個網站用於美國市場。 他們不僅共享代碼庫,而且還使用基本的CMS共享數據庫,以便每個網站可以具有一些不同的內容。

在這些站點上,我們有一個管理頁面,該頁面可用於為每個網站設置一些HttpContext.Current.Application變量,這些事情不會經常更改,但是我們可能希望立即更改而無需更新配置文件等

現在,在帶有IIS 6的Server 2003機器上,這種方法已經運行了好多年。就在昨天,我們升級到了帶有IIS 8的嶄新的Server 2012機器,現在應用程序對象出現了問題。

簡而言之,現在在一個網站上設置了應用程序變量后,便同時在兩個站點上都進行了設置,因此英國市場會看到美國的應用程序對象,反之亦然,這取決於最后設置的對象。

應用程序對象是根據市場代碼從數據庫中提取的,並且一切正常(至少在幾年內代碼沒有更改),並且我編寫了一些日志記錄以確認正確的對象是為每個網站加載。

每個網站都有自己的應用程序池,所以我真的看不到這是怎么回事。 我已經在帶有IIS 7.5的Server 2008上測試了站點,並且在那里表現良好,類似地,我運行帶有IIS 8的Windows 8開發人員計算機,我認為與新的活動服務器的設置相同(應用程序池配置相同)以及所有內容),並且兩個站點都在那里做正確的事情。

有人聽說過這種問題嗎?有人對我可以解決的問題有任何建議嗎? 我認為甚至不可能在單獨的應用程序之間共享應用程序對象,我的假設在那里嗎?

非常感謝!

標記

這聽起來像是配置問題,您確定這些站點具有不同的市場代碼嗎? 看起來查詢為應用程序對象返回了wrong值。

好的,事實證明,這是一個配置問題,而不是網站甚至IIS。 實際上,事實證明,我們的系統管理員在更改網站的DNS時不小心將美國網站更改為英國IP地址,因此,兩個網站畢竟是同一應用程序。 恐怕我什至從未對站點進行ping檢查IP地址,我們現在都覺得很傻,因為沒有更早發現它。 我只能把它放到一個可笑的清晨開始,以進行更改,從而導致一堆疲憊的開發人員忙得不可開交。

不過,如果其他任何人都有類似的問題,也許這會對他們有所幫助。

暫無
暫無

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

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