【发布时间】:2014-04-25 21:03:54
【问题描述】:
[编辑] 真正的问题是为什么
when EnableSessionState="ReadOnly"
sessionState mode="InProc" is not really readonly
but sessionState mode="StateServer" is
[/编辑]
我的 ASP.NET 应用程序中的会话存在问题。
目前,在网页上,我有一个按钮来进行搜索(并将其保存在会话中),搜索完成后我有另一个按钮来执行操作。 这个动作在 WebMethod 中调用,我显示一个 ajax 进度条。
当我开发此页面时,我必须将属性 EnableSessionState 设置为“ReadOnly”。
即使使用此 ReadOnly 参数,我也可以将搜索保存在会话中。
今天我想为我的会话使用 StateServer 模式,但现在,会话实际上处于 ReadOnly 模式。所以我无法获得搜索结果来启动第二个按钮的操作。
任何帮助将不胜感激
问候
【问题讨论】:
-
为什么必须将属性
EnableSessionState设置为只读? -
对 ASP.NET 会话状态的访问是每个会话独占的,这意味着如果两个不同的用户发出并发请求,则同时授予对每个单独会话的访问权限。但是,如果对同一个会话发出两个并发请求(通过使用相同的 SessionID 值),则第一个请求将获得对会话信息的独占访问权。第二个请求仅在第一个请求完成后执行。 link