在我的ASP.NET應用程序中,我有一個將所有異常記錄到文件(使用Application_Error()
和global.asax
)的過程。在那個過程中,我記錄了幾個東西,比如當前的日期時間,用戶名等。在Web應用程序中,當「無法找到資源」異常時,當前會話爲空
但是,如果某人(已記錄)嘗試訪問不存在的頁面(例如:http://www.mywebsite.com/foo.aspx),則無法從過程訪問當前用戶名信息,因爲System.Web.HttpContext.Current.Session
爲空,所以它工作正常。起初,我認爲會議已經失敗。這是不正確的,因爲如果我按回來,我仍然可以使用該網站(鏈接仍然工作,而不被重定向到登錄頁面)。
如果沒有找到資源,會話爲空的原因是什麼?是否因爲會話對象只有在知道要傳遞哪個頁面後才由asp初始化?或者可能是我的網站上沒有正確配置的東西?