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