【发布时间】:2011-03-01 18:40:01
【问题描述】:
这可能是一个显而易见的解决方案,但我已经碰壁了一段时间了,只需要第二双眼睛来指出我做错了什么。
我有一个新的 ASP.Net MVC 项目,在 web.config 中有以下(相关)信息:
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/User/Login" name="TestProjectSession" timeout="30" />
</authentication>
<sessionState mode="InProc" cookieless="false" timeout="30" />
</system.web>
我正在尝试做的所有事情(现在,因为它坏了),就是在一个页面上将一个值写入会话并在另一个页面上检索它......
相关代码:
Global.asax.cs
protected void Session_Start()
{ Session.Add("UserID", ""); }
身份验证操作(检索用户信息后):
Session["UserID"] = "useridgoeshere";
我遇到的问题是,当我在发送身份验证响应后请求任何页面时,会调用 Session_End。我假设这意味着不知何故我的会话配置无效,但我无法根据上面的信息看到如何。浏览器上启用了 Cookie,我尝试使用无 cookie 会话以防万一没有任何更改。
任何人都可以就我可能配置不正确的内容提出建议吗?
开发环境为VS2010/C#/ASP.Net MVC3
【问题讨论】:
-
没有直接回答您的问题,但您为什么要这样做而不是使用 MembershipProvider(ootb 或自定义)?
-
你能把验证的代码贴出来吗?
-
@Paul - 我没有任何类型的角色,也没有保留任何与用户相关的真实细节,除了基本的身份/身份验证信息,所以我不希望处理的混乱一个 MembershipProvider 。
标签: asp.net session session-state session-timeout