我新的ASP.NET。我正在創建一個網站,我必須爲每個登錄該網站的用戶創建會話。現在我無法想像如何將會話存儲在我的數據庫中。不知道如何存儲會話ID在SQL會話狀態
我讀了幾本書,對於相同的,並得到了如何配置會話狀態。但我仍然在我開始的地方。我無法獲得應保存會話ID的位置。 我使用sql server會話狀態。我已經創建了數據庫aspnetdb和所有表。但我不知道如何使用它們。如何將我的會話ID保存到數據庫中。 我完全困惑如何解釋我的問題。
我新的ASP.NET。我正在創建一個網站,我必須爲每個登錄該網站的用戶創建會話。現在我無法想像如何將會話存儲在我的數據庫中。不知道如何存儲會話ID在SQL會話狀態
我讀了幾本書,對於相同的,並得到了如何配置會話狀態。但我仍然在我開始的地方。我無法獲得應保存會話ID的位置。 我使用sql server會話狀態。我已經創建了數據庫aspnetdb和所有表。但我不知道如何使用它們。如何將我的會話ID保存到數據庫中。 我完全困惑如何解釋我的問題。
你並不需要在數據庫中存儲會話ID - 這部分是爲你做通過運行時,假設您在SQLServer模式下使用會話。
會話提供商將在每個請求開始讀從DB會話數據,並在每個請求的末尾寫。它通過設置一個包含會話ID的cookie,然後使用cookie的值作爲數據庫查找的關鍵字來執行此操作,以查找會話數據的其餘部分。
你總是可以從Session.SessionID屬性訪問會話ID,但你應該很少需要這麼做。
直到您第一次在會話對象中保存某些內容時,會話ID cookie纔會發送到客戶端(也不會將會話數據保存在數據庫中)。您可以通過Web調試器(如Fiddler)輕鬆查看。
FWIW,正常登錄不應該使用會話狀態來處理。例如,標準的ASP.NET成員資格提供程序使用基於Cookie的並行系統。
見HOW TO: Configure SQL Server to Store ASP.NET Session State
基本上,你必須配置它在web.config中:
<sessionState
mode="SQLServer"
sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
cookieless="false"
timeout="20"
/>
THX的幫助。但我也是這樣做的。但我仍然不知道它是如何工作的。我的會話ID如何維護到數據庫中。即使我不知道用戶會話是否會得到維護或通過這樣做。我甚至在web配置文件中編寫了機器密鑰,但不知道所有這些是如何工作的。我無法想象。 Plz幫助在這方面考慮我是一個新手 – 2009-12-31 12:27:38