2012-08-19 132 views
4

我在我的asp.net應用程序中設置了一個Session對象,並將其設置爲userID值。會話對象在gloal.asax中被實例化。當用戶登錄並通過身份驗證時,該值將在button_click事件中設置。將asp.net會話對象設置爲空

然而,在我的應用程序某處,會話被設置爲空。我如何確定會話對象被設置爲空的位置和方式?

+0

你可以發佈global.asax中的代碼嗎?通常,會話不需要實例化。 – 2012-08-19 20:54:10

回答

3

在項目中進行全局搜索會話變​​量。在所有線上劃一個斷點。然後仔細檢查應用程序。兩天前我也有同樣的錯誤。花了四個小時瀏覽了80多頁。祝你好運。

1

一對夫婦的原因,這可能會發生:

  • 你修改的Page_Load()的變量?
  • 您的瀏覽器是否返回會話cookie? (您可以使用Fiddler進行驗證)

以我的經驗來看,這種問題幾乎肯定會被上述問題解決。

+0

不在page_load上。我確實在global.asax session_start中擁有它,然後在button_click事件上正在寫入或讀取會話值。 – DotNetRookie 2012-08-19 17:20:54

+0

還要確保會話ID不會從在session_start中創建變量時到在嘗試在click事件中檢索變量時發生變化。 – 2012-08-19 17:25:55

+0

好的,我會仔細檢查你的global.asax中有什麼,並且它沒有針對每個請求運行。 – 2012-08-19 17:27:02

相關問題