Если у меня есть одноэлементная оболочка для коллекции в asp.net, нужно ли ее кэшировать или данные будут сохранены в почтовых архивах?
Также, если другой пользователь войдет в приложение, создаст ли приложение другой экземпляр (сам по себе) и, следовательно, другой экземпляр синглтона, или оно получит доступ к тому же синглтону, который был создан в первом экземпляре?
Фактическая реализация синглтона является одной из следующих:
(Дизайн 1:)
using System;
public sealed class Singleton
{
private static volatile Singleton instance;
private static object syncRoot = new Object();
private Singleton() {}
public static Singleton Instance
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
instance = new Singleton();
}
}
return instance;
}
}
}
или Дизайн 2:
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
private Singleton(){}
public static Singleton Instance
{
get
{
return instance;
}
}
}