MVC会话SQLServer没有;不允许更新
本文关键字:不允许 更新 没有 会话 SQLServer MVC | 更新日期: 2023-09-27 18:24:04
我有一个相当基本的MVC4网站。我使用的SQL Server会话如下:
<sessionState
mode="SQLServer" regenerateExpiredSessionId="true" timeout="1440"
sqlConnectionString="Password=pass; Persist Security Info=True; User ID=user; Data Source=server;"
/>
当用户登录时,我会在会话中添加一个项目,如下所示:
Session["test"] = 3;
这很好,当我试图向会话添加新项目或更新现有值时,就会出现问题,即:
Session["test"] = 4;
Session["faux"] = 8;
在调试过程中,"test"
的初始值从未更新,"faux"
的值也从未添加。没有抛出任何错误,如果我进入/越过更新/添加代码,会话看起来像是在更新,但如果我进入另一个函数并尝试查询会话,则会话中只存在原始值。
我遵循了以下说明:MSDN,这些表显示在我的服务器上。
我不知所措。为什么我可以创建一个会话,但从不在该会话中更新/添加值?
问题是,在一个控制器中,我设置了[SessionState(SessionStateBehavior.Required)]
(这是正常工作的控制器),而在另一个控制器(不正常工作的那个控制器)中,我设定了[SessionState(SessionStateBehavior.ReadOnly)]
,这就是为什么我的会话项从未更新的原因。当我的会话状态为InProc时,这不是问题。
我保留这个问题,以防其他人犯下和我一样的严重错误。