Asp.net
Asp.net System.Web.HttpContext.Current.Session 在 global.asax 中為空
我有一個自定義安全主體對象,我在 global.asax 中為目前執行緒設置了它,一切都很好,通常沒有問題。
但是,我只是通過讓頁面提供圖像來添加動態圖像功能,並且每當載入該動態圖像頁面時 System.Web.HttpContext.Current.Session 在 global.asax 中為空,這會阻止我設置安全性從那時起,主要作為正常和級聯問題。
通常會話在 global.asax 中只有一次在使用者登錄開始時的會話期間為空,之後它總是可用這個單一的異常。
當瀏覽器在原始頁面中遇到圖像標籤時載入動態圖像頁面,即
我猜這是瀏覽器請求該頁面而不發送一些憑據的事實的某個方面?
任何幫助將不勝感激。
約翰,
我假設您正在為處理程序使用 ashx 處理程序。如果是這樣,請務必從 IRequiresSessionState 派生,例如:
public class Images : IHttpHandler, System.Web.SessionState.IRequiresSessionState { }如果您不使用 ashx,您能否描述動態圖像頁面的含義?
喬什
在 Global.asax.cs Session_Start() 和 Session_End() 你需要使用“this.Session”!這樣做的原因是 HttpContext 僅在有正在處理的請求時可用。這就是為什麼您在 HttpContext.Current.Session 上獲得 NULL 的原因!
來自 Microsoft 網站:“HttpContext 類:封裝有關單個 HTTP 請求的所有 HTTP 特定資訊。”
但不要難過……我也愛上了這個!:)