以编程方式在asp.net上进行只读会话(EnableSessionState =" ReadOnly")

时间:2010-12-22 04:54:54

标签: asp.net

我需要将会话设置为只读,这样我就可以为使用会话变量的页面建立多个请求,但是处于只读模式。

由于所有进程都在我的服务器控件上执行,因此我需要一种方法以编程方式对会话进行只读。

2 个答案:

答案 0 :(得分:1)

在您的场景中,必须有一个页面可以在会话上写入,而其他页面无权在其上书写。具有会话状态写访问权限的页面将在会话上保持写入程序锁定,直到请求完成。通过将@Page指令上的EnableSessionState属性设置为True,页面获得对会话状态的写访问权。具有会话状态读访问权的页面,例如,当EnableSessionState属性设置为ReadOnly时,将在会话中保持读取器锁定,直到请求完成。

<% @Page EnableSessionState="ReadOnly" %>

了解更多information you can read this link

答案 1 :(得分:1)

如果使用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窗体,我不太确定,但是应该遵循这些原则...