0
實現IRequiresSessionState
的ASP.NET處理程序(.ashx)是否可以重用,還是會保持與第一個使用的會話的關係?ASP.NET可重用處理程序和會話狀態
實現IRequiresSessionState
的ASP.NET處理程序(.ashx)是否可以重用,還是會保持與第一個使用的會話的關係?ASP.NET可重用處理程序和會話狀態
是的,它可以重複使用。
當調用ProcessRequest
方法時,調用者在HttpContext
內部傳遞會話狀態。方法參數只能在每個方法調用的範圍內使用,而不能跨越不同線程上的多個調用。每個請求都會使用正確的會話,即使它們是用戶自定義的,但是除非你做了非常不尋常的事情(比如將會話存儲在成員變量中,然後在方法調用期間使用它),否則每個請求都將使用正確的會話共享處理程序實例。
我實際上並沒有使用傳入ProcessRequest的HttpContext,但我必須實現IRequiresSessionState,因爲我正在調用其他地方使用HttpContext.Current.Session的靜態方法。從你所說的話我相信我的處理程序可以重用。謝謝。 – 2010-12-02 12:29:23