從我讀到的情況來看,當會話狀態處於SQLServer模式時,它總是必須訪問數據庫才能獲取和設置會話變量。這是真的,還是可以在某些情況下使用緩存?如果您有任何關於這種模式如何工作的好文章,請隨時在這裏分享。我似乎無法在Google上找到任何相關內容。會話狀態SQLServer模式
我試圖評估使用這個(性能,可靠性等)
感謝的風險!
從我讀到的情況來看,當會話狀態處於SQLServer模式時,它總是必須訪問數據庫才能獲取和設置會話變量。這是真的,還是可以在某些情況下使用緩存?如果您有任何關於這種模式如何工作的好文章,請隨時在這裏分享。我似乎無法在Google上找到任何相關內容。會話狀態SQLServer模式
我試圖評估使用這個(性能,可靠性等)
感謝的風險!
可靠性:您的SQL Server實例的可靠性如何?它是否聚集?它在遠程服務器上嗎?
性能:SQL Server會話狀態是性能最低的會話狀態選項之一。我假設你正在ASP.NET應用程序中使用它,並且有多個Web服務器。對於每個需要會話狀態的請求,它至少會執行一次數據庫查詢。如果在請求期間更新會話狀態,則會執行一個額外的更新查詢。另外,會話狀態中存儲的所有內容都將被讀取/更新。如果您可以小心限制哪些頁面/資源需要會話狀態,則它可以正常工作。
替代品:如果您只在一臺Web服務器上運行,則可以使用狀態服務器。如果您需要支持多個Web服務器,則可以考慮使用App Fabric Caching Session State提供程序或NCache。這兩種方式都比SQL Server執行得更好,並且可能比SQL Server更具容錯性。
非常感謝您的回答菲爾!非常有趣的這個App Fabric的東西。不知道。 – 2012-02-29 16:28:10