Я создал класс реестра в .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