2012-09-10 78 views
0

我想檢索C#中特定會話變量的會話ID。如何從特定的會話變量檢索會話ID

Session["OrderDetailList"] = OrderDetailsList; 

我在想什麼,我想保存列表在會話中,也想存儲它的會話ID在cookie中。

此外當我從cookie中檢索會話ID,然後我能夠保存從cookie中檢索會話ID的會話變量的值。

我們該怎麼做?

+0

一個SessionID的是整個會話,而不是爲特定的會話變量。在上面的例子中,列表本身沒有任何唯一的會話ID。會話ID是唯一的,並且共享該特定會話中存儲的所有值。另外,你能澄清你的第二句話 - 至少我覺得它是特別令人困惑的 – InSane

+0

我的第二句話意味着我必須從Cookie檢索會話ID,並從該會話ID我們可以獲取會話值 –

+0

好吧。我認爲如何檢索SessionID已經在KnowledgeSeeker以及AVD的答案中得到了回答。此外,要獲得會話值,例如:OrderDetailsList,則根本不需要使用SessionID。只是做Session [「OrderDetailList」]就足夠了 – InSane

回答

0
/ In a user control or page 
string sessionId = this.Session.SessionID; 

// In a normal class, running in a asp.net app. 
string sessionId = System.Web.HttpContext.Current.Session.SessionID; 

在這旁邊我還建議籤這個好文章

Exploring Session in ASP.NET

+0

ok如何從會話ID中找到會話變量。是否有可能從會話ID獲取會話變量 –

+0

您可以使用正則表達式來執行全局搜索 這樣的事情可能會訣竅 '(?:Session \ [。+ \] \ s * = | Session.Add )' 第一部分講述通過assigment創建會話變量:Session [「MyVarName」] = myValue 第二部分介紹使用Add方法創建會話變量:'Session.Add(「MyVarName」,myValue)'' – Learning

1

如何從特定會話變量中檢索會話ID?

不可以。閱讀MSDN document for more info.

默認情況下,會話使用餅乾保存SessionID並且你可以通過在服務器的代碼 Session對象獲得的SessionID。