使用由aspnet_state管理的outproc會話。有時我會遇到運行時錯誤,指出會話無效。所以我想檢查會話是否對我提出的每個請求都有效。但我找不到像使用Java的this Question一樣的正確方法。如何檢查asp會話是否有效?
這裏是我現在在page_preinit事件中使用的代碼。它看起來很醜,但它的工作原理。
Try
Dim x = Session.Keys().Item(0)
Catch ex As Exception
Session.Clear()
End Try
有沒有人知道更好的方法?
謝謝
什麼是你得到確切的運行時消息?它不會響鈴,以及您在上面的測試中基於空引用異常進行測試的方式,該異常也會發生在新/空會話而不是無效會話的情況下。 – olle 2009-08-28 21:56:48
您使用表單身份驗證嗎? – PortageMonkey 2009-08-28 23:32:02
olle:會話確實存在(NOT NULL),但訪問任何元素都會引發異常。這只是不時發生,只有在我的開發機器上,因爲我做了大量的構建/重建 – Youssef 2009-08-31 15:59:21