2013-05-09 48 views
0

我知道,爲了使ASP.Net處理程序支持會話狀態,您需要實現IHttpHandlerIRequireSessionState,但爲什麼默認情況下不提供會話狀態?如果出於性能的原因,那麼有沒有像IDoesNotRequireSessionState這樣的接口會更好?爲什麼ASP.Net處理程序默認支持會話

回答

1

它,因爲會話是阻止異步操作,並且把手通常用於長時間操作,如製作和文件的下載 - 如果你保持很長一段時間的操作會話您阻止你的頁面的其餘部分。

此外,處理是用想法獲得響應的最低要求。

關於會話鎖:
Web app blocked while processing another web app on sharing same session
jQuery Ajax calls to web service seem to be synchronous
ASP.NET Server does not process pages asynchronously
Replacing ASP.Net's session entirely

1

如果出於性能方面的考慮,那麼豈不是更好有一個 界面像IDoesNotRequireSessionState?

絕對不是,因爲然後每個執行處理程序的人都必須知道這個接口的存在。 HTTP處理程序在您從ASP.NET獲得的性能方面是最快的。所以,如果你想與像會話垃圾污染它,那麼你最好做明確,並考慮這樣做的全部責任,通過實施一些接口,你應該知道的。

+0

這是有道理的 – 2013-05-09 19:39:00

+0

是的,當然,這是有道理的。 – 2013-05-09 19:39:56

相關問題