【问题标题】:Is there way to be notified when a session variable changes?有没有办法在会话变量更改时得到通知?
【发布时间】:2009-04-20 18:49:15
【问题描述】:

是否可以在会话变量更改时在代码中得到通知?举个例子让大家更清楚。

它是一个普通的 ASP.NET 站点,具有母版页和内容页。我想显示用户状态的图像,即是否登录(2 个不同的图像)。不是在母版页的每个 page_load 上检查会话变量,是否可以设置图像并仅在更改该会话变量时更改它?几乎就像发生变化时触发触发器一样。

【问题讨论】:

  • 如 Eoin 所写 - 不要担心检查 Session 变量的性能,除非你真的有测量性能问题。即使在那种情况下,我也不认为会话访问是您的瓶颈。如果是这样,您可以始终使用带有支持字段的包装属性,该字段只会评估一次。

标签: c# session-variables


【解决方案1】:

据我所知,会话对象 (HTTPSessionState) 没有任何 OnChanged 事件,因此您必须每次都进行检查,但是在 MasterPage Page_Load 事件中进行检查的开销微乎其微。

您应该考虑使用内置的 Membership Provider 来执行此操作,因为它具有特殊的 Login/LoginStatus 控件,当用户登录时会改变状态(您为模板提供您自己的图像/样式等...) /注销/匿名

【讨论】:

    猜你喜欢
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2021-09-21
    相关资源
    最近更新 更多