我在.NET中創建了一個註冊表類,它是一個單例。顯然,這個單例表現得好像它被保存在緩存中一樣(單例對象可用於每個會話)。這是一個很好的做法,我應該將這個單例添加到緩存? +我需要用GetInstance()函數來解決併發問題嗎?Singleton vs Cache ASP.NET
namespace Edu3.Business.Registry
{
public class ExamDTORegistry
{
private static ExamDTORegistry instance;
private Dictionary<int, ExamDTO> examDTODictionary;
private ExamDTORegistry()
{
examDTODictionary = new Dictionary<int, ExamDTO>();
}
public static ExamDTORegistry GetInstance()
{
if (instance == null)
{
instance = new ExamDTORegistry();
}
return instance;
}
}
}
Yeps,當AppDomain重新加載時,新實例沒有問題。但是一個單身人士確實表現得像一個全球物體,不是嗎?在測試時,我可以看到ASP.NET不會爲每個會話創建一個單例,而只是整個應用程序的一個單例。 – 2008-11-19 15:37:14