有一個其他類在其方法中使用它的類。我想在請求期間提供的一個實例的所有方法。如何提供所需方法的一個實例的所有方法
更新:請求時說我意思:當用戶向服務器請求加載網頁(的BeginRequest),若干事件和方法將被稱爲和提高。他們中的很多人都需要我的班級將一些數據保存到數據庫中。而不是實例我的類每個方法或頁面,使幾個交易到數據庫中,我想所有的方法只使用一個實例是緩衝區這些數據,並在要求結束將所有數據插入數據庫一次。並且這些重複與下一個請求
有一個其他類在其方法中使用它的類。我想在請求期間提供的一個實例的所有方法。如何提供所需方法的一個實例的所有方法
更新:請求時說我意思:當用戶向服務器請求加載網頁(的BeginRequest),若干事件和方法將被稱爲和提高。他們中的很多人都需要我的班級將一些數據保存到數據庫中。而不是實例我的類每個方法或頁面,使幾個交易到數據庫中,我想所有的方法只使用一個實例是緩衝區這些數據,並在要求結束將所有數據插入數據庫一次。並且這些重複與下一個請求
您可以使用每個請求集合並使用它創建每個請求singletone。
@JackSpector:謝謝,我發現這篇博文http://bit.ly/8sjlZ。因爲我想在類庫中編寫這個類,您怎麼看待使用System.Runtime.Remoting.Messaging.CallContext而不是HttpContext? –
從來沒有使用過CallContext,但根據MSDN它更多地與線程存儲相關。如果你要在Web應用程序中使用你的類庫,並且你不需要比每個請求更多地保存數據,最好使用HttpContext.Current。 –
使用Singleton模式
從P&P
在一些情況下,特定類型數據的需要是提供給應用程序中的所有其他對象。在大多數情況下,這種類型的數據在系統中也是唯一的。例如,用戶界面只能有一個所有應用程序必須訪問的鼠標指針。同樣,企業解決方案可以與管理與特定遺留系統的連接的單網關對象連接。
如何使對象的實例全局可用,並確保只創建該類的一個實例?
public class Singleton
{
private static Singleton instance;
private Singleton() {}
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
是否可以在請求範圍內創建單例? –
當然。使用HttpContext.Current。用於存儲singletone實例的項目集合。 –
讓它'static' – Alex
你是一個Singelton? http://en.wikipedia.org/wiki/Singleton_pattern或來自P&P:http://msdn.microsoft.com/en-us/library/ms998426.aspx – rene
@rene:我更新了問題,我想要所有的方法需要這個類的一個實例,使用同一個實例。但只是在請求期間。我認爲單身人士可以做同樣的事情,但對於所有請求 –