代码之家  ›  专栏  ›  技术社区  ›  Yordan Georgiev

在Asp.net中,您会在Global.asax中的Session\u Start和Session\u End事件中添加什么内容?

  •  0
  • Yordan Georgiev  · 技术社区  · 16 年前

    如果不是代码,你能提供一些一般性的解释吗?

    4 回复  |  直到 16 年前
        1
  •  4
  •   Henk Holterman    16 年前

    在会话启动中,您可以设置与会话相关的任何内容,这在很大程度上取决于应用程序。

    一般来说,如果可能,您应该避免会话结束,它不仅通常会很晚(在会话超时后)触发,而且在多服务器配置中根本不会触发。

        2
  •  4
  •   Robert Paulson    16 年前

    提醒自己为什么永远不要使用Session\u End总是好的

    超出 Understanding session state modes + FAQ


    1. 会话结束事件仅在InProc模式下受支持。
    2. 如果关闭浏览器,则不会触发会话结束。HTTP是一种 不管关不关。

    3. (a) 。不活动n分钟后(n=超时值),

      (b) 。如果有人调用会话。放弃()。
    4. 对于案例(a)(第3点),会话结束将由后台线程运行, (a) 。会话_End中的代码正在使用工作进程帐户运行。 如果您正在访问以下资源,则可能存在权限问题: 数据库 (b) 。如果会话结束时发生错误,它将以静默方式失败。
    5. 对于案例(b)(第3点),为了使会话结束 启动时,会话状态必须首先存在。这意味着你必须存储 某些数据处于会话状态,并且至少已完成一个请求。
    6. 同样对于案例(b)(第3点),只有当 实际上找到了放弃的会话。因此,如果您创建并放弃 因此,如果找不到,则不会调用Session_End。这是.NET中的一个bug 框架1.0和1.1。
        3
  •  2
  •   Soul_Master    16 年前

    会议结束 在数据库中保存用户状态。清洗系统等。

        4
  •  1
  •   Çağdaş Tekin    16 年前

    最常见的例子是计算在线用户数。增加对的计数 Session_Start 相反的是 Session_End .