首页 > 解决方案 > c# ASP.NET 会话变量未初始化或更新

问题描述

在我的项目中,我试图设置“userid”会话变量,但是由于某种原因会话不会初始化。此行为适用于任何控制器中的所有会话变量,但我的基本控制器除外,它使用不同的方法来设置会话变量。

目前,我尝试了这些方法来设置会话变量:

Session.Add(...)
Session["keyname"] = "value";

我尝试在 中初始化会话Global.asax.cs,并取得了一些成功,但这些变量无法更新:(

protected void Session_Start(Object sender, EventArgs e)
{            
    Session["userid"] = null;
    Session["name"] = null;
}

ASP.NET 中的正常会话功能在几个月前运行良好,在这个项目中,使用会话变量的代码在几周内没有被触及,并且最后一次完美地工作。

web.config文件具有当前会话配置:

<sessionState mode="InProc" timeout="30" />
<pages enableSessionState="true"/>

我已经尝试了我在这个论坛和其他论坛上阅读的所有内容,但无济于事。我无法恢复“正常”会话功能。请问有人可以提供一些建议吗?我完全迷路了。

标签: c#asp.net-mvcsession

解决方案


改变这个:

<httpCookies httpOnlyCookies="true" requireSSL="true" />

对此:

<httpCookies httpOnlyCookies="true" requireSSL="false" />

修复通过 HTTP 不安全连接启用 cookie


推荐阅读