2008-11-20 88 views

回答

2

通常,這種事情要求Singleton。不過,我建議您不要自己編寫單例,並使用Dependency Injection/IoC框架來處理服務的生命週期。

你必須記住的另一件事情是,ASP.NET過程會自動回收自己,所以你需要永久存儲更改(比如文件系統或者數據庫)

+0

ASP.NET不會隨機回收!對於很多(很多!)應用程序,DI/IOC都非常吸引人。 – 2009-07-12 04:26:37

+0

DI/IOC是一個已解決的問題,那爲什麼不使用它? – 2009-08-10 09:56:38

0

您應該使用應用程序設置。只需轉到應用程序屬性窗口,選擇設置選項卡並添加您的變量。比代碼只使用強類型的類。舉例來說,如果我創建了一個名爲PortalName我只是用一個全局變量:Settings.Default.PortalName

+0

我沒有看到設置選項卡。你在談論設置與Web應用程序項目選項卡?我正在asp.net網站上工作。 – Jack 2008-11-20 18:31:03

0

我相信Application對象是使用全局變量,你可以在對象存儲所需要的各種值的內置方式。

0

作爲應用程序狀態的替代方法,請考慮只是讓變量變爲靜態。它基本上會達到同樣的目的,並且具有強類型的附加好處。

個人認爲,我會按照David的建議去使用由IoC容器管理的單例範圍服務。

相關問題