2013-05-09 88 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

相关问题