You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome 119.0.5933.70版本SessionStorage不显示及.NET会话变量求助

解决方案

先明确:.NET Session变量本身不会出现在Chrome开发者工具中

.NET的Session["mysessionvariable"]是存储在服务器端的,浏览器端只会存储用于标识会话的ASP.NET_SessionId Cookie(仅当使用Cookie模式会话时)。你在Chrome开发者工具里看不到具体的Session变量值是正常的——这些数据不会被发送到客户端。

如果你的需求是确认会话标识有效性或排查会话相关问题,可按以下步骤操作:

1. 检查SessionID Cookie是否存在

打开Chrome开发者工具(F12),切换到「Application」标签:

  • 展开左侧「Storage」→「Cookies」→ 选择你的站点域名
  • 查看是否存在ASP.NET_SessionId条目,确认其值非空且有效

2. 验证会话模式配置

若项目使用无Cookie会话模式(如URL重写),浏览器端不会有SessionID Cookie,开发者工具自然看不到相关内容。可检查项目web.config的配置:

<system.web>
  <sessionState mode="InProc" cookieless="UseCookies" /> <!-- 确认cookieless属性值 -->
</system.web>

若cookieless设为UseUri或AutoDetect,SessionID会附加在URL中,而非存储在Cookie里。

3. 排查Chrome 119的隐私/安全设置变化

Chrome 119可能调整了Cookie默认处理规则,导致SessionID Cookie被拦截:

  • 打开Chrome设置 → 隐私和安全 → Cookie及其他网站数据
  • 确认未勾选「阻止第三方Cookie」,或已将你的站点添加到「允许的网站」列表
  • 点击地址栏锁形图标 → Cookie → 确认ASP.NET_SessionId权限为「允许」

4. 服务器端验证与调试

既然代码能正常读取Session变量,可在服务器端输出SessionID验证会话有效性:
在控制器中添加调试代码:

public ActionResult CheckSession()
{
    var sessionId = Session.SessionID;
    var myVar = Session["mysessionvariable"];
    return Content($"SessionID: {sessionId}, mysessionvariable: {myVar}");
}

访问该Action,确认SessionID与浏览器端(若有Cookie)的ASP.NET_SessionId值一致。

5. 重置Chrome开发者工具设置

若怀疑是DevTools配置异常:

  • 打开DevTools → 点击右上角设置图标(⚙️)→ 滚动到最底部 → 点击「恢复默认值并重新加载」

内容的提问来源于stack exchange,提问作者Robert Carlson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:32:14