如果我在asp.net中有一個單獨的包裝器,它是否必須被緩存,或者它的數據是否會在發佈後支持數據?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;
}
}
}
單身人士如何實施? – Oded 2011-01-07 17:59:14
尚未實施。可能基於代碼: 使用系統; 公共密封類Singleton { private static volatile Singleton instance; private static object syncRoot = new Object(); 私人辛格爾頓(){} 公共靜態Singleton實例 { 得到 { 如果(例如== NULL){ 鎖 (SyncRoot上) { 如果(例如== NULL) 實例=新辛格爾頓(); } } return instance; } } } – bleepzter 2011-01-07 17:59:49