【问题标题】:ASP.NET Static classes and asp.net sessionsASP.NET 静态类和 asp.net 会话
【发布时间】:2012-09-20 11:08:21
【问题描述】:

谁能解释一下或指向解释静态类和方法的范围如何与 ASP.NET 用户会话的范围交互的文章。

这是解释我的问题的更具体的情况:

  1. 用户 A 登录到一个 asp.net 网站。
  2. 在做某事时,用户 A 使用了一个静态方法来初始化一些数据。
  3. 用户 B 登录到同一个 asp.net 网站。
  4. 用户 B 使用相同的静态方法。

用户B点击后数据是否已经初始化?

如果用户 A 的 asp.net 会话在用户 B 访问网站之前过期怎么办?

【问题讨论】:

    标签: asp.net static-methods static-classes


    【解决方案1】:

    只要进程在运行,静态数据就会存在。它附加到类型。

    如果初始化的数据是在静态上下文中,那么当用户B点击该方法时,它已经被初始化了。

    会话与这里无关 - 只有过程。

    如果进程被回收,则必须重新初始化数据。

    【讨论】:

      【解决方案2】:

      查看这些帖子:Why does my ASP.Net static function's "context" crossover between user sessions?

      What is the scope of a Static Class?

      C# Static variables - scope and persistence

      http://msdn.microsoft.com/en-us/library/ms173138(v=vs.100).aspx

      简而言之:

      用户B点击后数据是否已经初始化?

      是的

      如果用户 A 的 asp.net 会话在用户 B 访问网站之前过期怎么办?

      用户 B 将访问用户 A 初始化的数据

      静态数据在您的整个应用程序域之间共享 网络应用程序。它在您的所有服务请求的线程之间共享 webapp,它不以任何方式绑定到会话/线程/用户,而是绑定到 webapp 作为一个整体。

      【讨论】:

        猜你喜欢
        • 2011-07-31
        • 2013-01-26
        • 1970-01-01
        • 2012-12-19
        • 2012-10-18
        • 1970-01-01
        • 2011-06-07
        • 2010-11-02
        • 1970-01-01
        相关资源
        最近更新 更多