2011-07-13 69 views
0

問:爲什麼不能破壞只是一個會話

我知道,摧毀所有會話,我可以使用:

Session.Abandon() 

據我question.

但爲什麼有N」沒有任何等同的方法來銷燬只有一個會話。我應該使用

Session.Remove("varName") 

而不是。

+1

你是什麼意思*摧毀只有一個會話*? – V4Vendetta

+0

我的意思是'Session.Abandon()'的效果,但僅限於一個會話而不是所有會話。請在此處查看我的問題: http://stackoverflow.com/questions/6640350/c-clear-session –

回答

7

首先,你正在談論會話變量,而不是會話。每個用戶都有一個會話,並且可以存儲在幾個變量一個Session對象。

您使用Session.Abandon一旦當前請求完成,這將刪除Session對象放棄了會議。

您可以使用Session.Remove方法從Session對象中刪除一個變量。

+0

謝謝很抱歉,我很想念這個概念。真的非常感謝你。 –

1

Session.Clear()將刪除會話狀態集合中的所有項目,而Session.Remove(<item name>)將僅刪除集合中的一個項目並保持其餘項目不變。 Session.Abandon()將銷燬整個會話並開始新的會話。

1

您在會話和會話變量之間誤會。查看您的站點的用戶僅分配了1個會話,並且在此1個會話對象中,您可以存儲許多會話變量。

Session.Abandon將刪除當前連接用戶的會話。

Session.Remove將刪除您提到的特定會話變量。

Session.Clear將刪除會話的所有會話變量,但不會刪除會話。


請參考會話及其使用以下鏈接:

CodeProject: Exploring Session in ASP.NET

ASP.NET Session State

ASP.NET Session state overview