2012-03-27 75 views
0

我想存儲數據讓我們說在一個集中的區域,我可以從任何類訪問它, 靜態將無法幫助,因爲它會被覆蓋,我需要像vb模塊(我不知道它是否真的幫助我) 我怎麼能在asp/C#中做到這一點?ASP.net集中變量

+0

什麼是你的數據的持久化策略?如果它是「每個會話」,那麼你可以使用Session對象。如果不知道,那麼數據庫是明顯的選擇。如果是基於時間的話,則使用緩存和過期策略。 – Strillo 2012-03-27 08:11:27

回答

0

你可以將它存儲在Session變量上;

Session["myParam"] = myobject; 

您可能會檢索像;

var temp = (MyClass) Session["myParam"]; 
3

你可以使用:

不知道它到底是什麼,你要集中(和它的範圍)我無法提供關於選擇什麼選項的建議。大多數情況下,會話狀態往往被使用。

你贏了通過選擇使用靜態的第一戰,他們是在IIS不可預知由於Application Pool recycling

0

如果您處於Web上下文中,那麼您可以使用Application對象,因爲這是所有類和頁面的通用對象。

因此,將您的價值添加到應用程序,然後在需要時從其他位置讀取它。

如果你在裏面定義一個靜態變量的靜態類,你也可以得到相同的行爲。 那麼來看看singletone設計模式,以獲得更多的詳細信息該解決方案

http://www.dofactory.com/Patterns/PatternSingleton.aspx