对 HttpContext.Current.Session 的静态引用是否为所有用户返回相同的会话?

2023-12-02

对于同一 Web 应用程序的多个用户,以下代码是否存在问题?我的意思是,我知道一个纯静态字符串将在单个 ASP.NET 应用程序的所有会话之间共享,但考虑到 this 明确引用了Current.Session,即使它是静态的,它似乎总是引用“当前用户”的会话实例。

但是发生了一个错误,可以用每个人共享当前值来解释Mode因此,最近的变化覆盖了其他人的模式值。

(作为背景:该字符串位于Helpers在整个应用程序中使用的类。我不想进行硬编码引用Session["Mode"]整个申请过程并且不想通过Session["Mode"]在来自 aspx.cs 页面的每个方法调用中。)

public static string Mode
{
    get
    {
        var value = HttpContext.Current.Session["Mode"];
        return (value ?? string.Empty).ToString();
    }
    set
    {
        HttpContext.Current.Session["Mode"] = value;
    }
}

HttpContext.Current总是返回当前请求的上下文(如果有is当前请求)。

由于每个用户将执行不同的请求,因此每个上下文都会不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 HttpContext.Current.Session 的静态引用是否为所有用户返回相同的会话? 的相关文章

随机推荐

  • Android isodep.isConnected() 返回 false 且最大收发长度:0 字节,对于 B 型卡。

    我正在开发一个 Android 应用程序 需要读取并显示 B 型卡中的数据 卡连接良好 但是当isodep isConnected 被调用它返回 false 我扫描了这张卡TagInfo应用程序 由 NXP 提供 可在 Play Store
  • JAudioTagger 和 Android - 更改 mp3 中的值?

    我可以从音频文件中读取标题 艺术家 专辑封面和其他信息等元信息 但我从未能够成功写入元信息 大家有这方面的经验吗 有比 JAudioTagger 更好的库吗 我会提供一些示例代码 但我尝试了十几种不起作用的方法 就像是 AudioFile
  • 无扩展名文件上的 Eclipse 语法高亮显示?

    我有一个 perl CGI 脚本 需要具有特定的无扩展名文件名才能从使用它的软件正确运行 我在 Ubuntu 11 04 Linux 上使用 Eclipse 3 7 0 作为我的 IDE 它不会突出显示文件上的语法 也不会使用有限的自动完成
  • Node.js 错误:连接 ECONNREFUSED

    我是节点新手 在一个简单的教程中遇到了这个错误 我在 OS X 10 8 2 上从 CodeRunner 和终端尝试此操作 我也尝试过将我的模块放入node modules folder 我可以看出这是某种连接问题 但我不知道为什么 eve
  • Spring 集成流程异步中的错误处理

    我有以下 Spring Integration 配置 它允许我从 MVC 控制器调用网关方法并让控制器返回 而集成流将在不阻塞控制器的单独线程中自行继续 但是 我无法弄清楚如何让我的错误处理程序适用于此异步流程 我的网关定义了错误通道 但由
  • SQL选择每个部门最大销售额的日期[重复]

    这个问题在这里已经有答案了 我对编写一个棘手的查询感到困扰 我有下表 对于每个部门 我想打印利润最大的日期 我尝试自己提出这样的查询 Select DISTINCT Name Date sale MAX A as B FROM SELECT
  • 如何在 CSS 中应用从外到内的渐变,仅应用于边框?

    根据 MDN 文档 这似乎没有得到明确支持 所以我在下面的链接代码笔中尝试如下 我知道嵌套 div 是丑陋的 不能成为一个好的可重用样式组件 但我不知道还有什么方法可以达到这种效果 任何有关尝试实现此目标的方法的指导将不胜感激 这是演示我当
  • 无法从维基百科 API 获取数据

    let dataObj const query marvel fetch https en wikipedia org w api php action query titles query prop revisions rvprop co
  • 空手道加特林:未拾取对功能文件的更改

    我正在尝试构建一系列触发空手道场景的加特林测试 我对功能文件所做的更改只是偶尔会被加特林拾取 例如 在下面的功能文件代码中 运行前四项 包括注释掉的 relationships 行 Feature This feature attempts
  • 为什么 .split("\\") 会生成异常?

    我有一个代表目录的字符串 其中 用于分隔文件夹 我想根据 String address C saeed test String splited address split 然而 这给了我一个java util regex PatternSy
  • 使用 HTML 文件输出 PDF

    我有一个 HTML 文件 我用它来发送电子邮件 但在某些情况下 我希望它只是使用该文件来创建相同模板的 PDF 我已经让它大部分正常工作了 它创建文件 运行评估并获取内容 但它实际上并不渲染 html 它只是将所有 html 符号保留在原处
  • ASP.NET 5 添加应用程序作为 IIS 应用程序

    我正在将一些应用程序从 ASP NET 5 beta7 迁移到 RC1 使用 HTTPPlatformHandler 我可以将这些 ASP NET 5 RC1 应用程序作为 IIS 站点的根运行 但它们不会作为站点的子目录 右键单击 添加应
  • 如果在 R 的另一个列表中找到 id,则删除数据框的行

    我有一个数据框final其中每个观察值在称为的列中都有一个 idfinal workerId如果在另一个名为的列表中找到这些行的 ID 我想删除该数据框的一些行omit这是我尝试过的 final lt read csv the data c
  • 将嵌套 Foreach 转换为 Linq

    我正在尝试使用 LINQ 重写以下内容 foreach WMCommon Services StakeOut assembly ass in assemblies foreach var agg in aggregate if agg ca
  • 延迟Google Cloud功能

    我有一个与 Google Firebase 配对的 swift iPhone 应用程序 在应用程序中 用户将完成一个操作 按下按钮 此时 我想安排一个 Google Firebase 函数在用户操作后 45 分钟运行 但是 我希望当 iPh
  • JS - 不带前导零或仅零的数字正则表达式

    我正在尝试编写货币的正则表达式 没有逗号或 符号或句点 只有整数 但我遇到了困难 我需要一个数字 作为字符串 来匹配要验证的模式 以下是我需要的 1 数字可以是单个零2 数字不能有前导零 有效输入 0 12345 1230 无效的 00 0
  • 如果路径包含“#”,System.Uri 无法给出正确的 AbsolutePath 和 LocalPath

    我有 C 代码试图获取LocalPath对于使用以下代码行的执行程序集 Uri uri new Uri Assembly GetExecutingAssembly CodeBase LocalPath 这段代码对于所有各种路径都表现良好 它
  • jcombobox 作为单元格编辑器 java.awt.IllegalComponentStateException:组件必须显示在屏幕上才能确定其位置

    我使用自定义 JComboBox 作为 JTable 中的单元格编辑器 当用户使用键盘控件进入单元格时 它会尝试打开弹出窗口 这会导致以下错误 java awt IllegalComponentStateException componen
  • 整数序列(升序或降序)

    整数序列 检查是否有序true 按升序或降序排列 否则为false 如果一个数字与下面的数字具有相同的值 则不会破坏顺序 该序列结束于0 Sample Input 1 9 8 7 6 5 4 3 2 1 0 Sample Output 1
  • 对 HttpContext.Current.Session 的静态引用是否为所有用户返回相同的会话?

    对于同一 Web 应用程序的多个用户 以下代码是否存在问题 我的意思是 我知道一个纯静态字符串将在单个 ASP NET 应用程序的所有会话之间共享 但考虑到 this 明确引用了Current Session 即使它是静态的 它似乎总是引用