【发布时间】:2011-05-29 05:20:00
【问题描述】:
我需要将会话设置为只读,以便可以对使用会话变量但处于只读模式的页面建立多个请求。
由于所有过程都在我的服务器控件上执行,因此我需要一种以编程方式使会话只读的方法。
【问题讨论】:
标签: asp.net
我需要将会话设置为只读,以便可以对使用会话变量但处于只读模式的页面建立多个请求。
由于所有过程都在我的服务器控件上执行,因此我需要一种以编程方式使会话只读的方法。
【问题讨论】:
标签: asp.net
如果您使用 ASP.NET MVC,则可以在控制器级别使用 SessionStateAttribute 类。
[SessionState(SessionStateBehavior.ReadOnly)]
如果你想控制动作级别的行为,你可以使用这个:
https://www.c-sharpcorner.com/UploadFile/ff2f08/session-state-behavior-per-action-in-Asp-Net-mvc/
如果您使用 ASP.NET Web 窗体,我不太确定,但应该是这样的......
【讨论】:
在您的场景中,必须有一个页面可以在会话上写,而其他页面无权在其上写。具有会话状态写入访问权限的页面将在会话上保持写入器锁定,直到请求完成。通过将@Page 指令上的 EnableSessionState 属性设置为 True,页面获得对会话状态的写入权限。具有会话状态读取访问权限的页面,例如,当 EnableSessionState 属性设置为 ReadOnly 时,将在会话上保持读取器锁定,直到请求完成。
<% @Page EnableSessionState="ReadOnly" %>
【讨论】: