【问题标题】:Make session readonly on asp.net programmatically (EnableSessionState="ReadOnly")以编程方式在 asp.net 上使会话只读(EnableSessionState="ReadOnly")
【发布时间】:2011-05-29 05:20:00
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net


    【解决方案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 窗体,我不太确定,但应该是这样的......

    【讨论】:

    • @Kiquenet 我没有注意到任何重大的事情。我猜你只是增加了一点开销来检查每个客户端调用的操作属性。我还没有测量有多少延迟。但如果这是一个问题,你也可以使用某种缓存,很有可能。
    【解决方案2】:

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

    <% @Page EnableSessionState="ReadOnly" %>
    

    了解更多information you can read this link

    【讨论】:

    • 这不能回答问题,只是在页面上设置该属性并不是以编程方式进行的。以编程方式意味着使用代码
    • EnableSessionState 属性设置为只读 性能问题 ?
    猜你喜欢
    • 2012-07-04
    • 2017-09-13
    • 2015-01-10
    • 2012-10-27
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多