ASP.NET MVC – Session为null
我在.net4上有一个MVC3应用程序,它的会话在dev环境中工作,但不在生产环境中.
在制作中我记录了sessionID,它在我设置和从会话中获取的时刻是相同的. 当我试图获得会话时,我得到Null Exception. 这是我访问会话的方式: public static class HandlersHttpStorage { public static string TestSession { get { return HttpContext.Current.Session["time"];//This is null } set { HttpContext.Current.Session.Add("time",value);//DateTime.Now.ToString() } } } 令我担心的是,即使web.config是相同的,生产中的行为也不同于开发. 解决方法
解决方案1:
链接:HttpContext.Current.Session is null when routing requests 得到它了.实际上相当愚蠢.在我删除&像这样添加了SessionStateModule: <configuration> ... <system.webServer> ... <modules> <remove name="Session" /> <add name="Session" type="System.Web.SessionState.SessionStateModule"/> ... </modules> </system.webServer> </configuration> 简单地添加它将无法工作,因为“Session”应该已经在machine.config中定义. 现在,我想知道这是否是通常的事情.它肯定似乎不是这样,因为它看起来如此粗糙…… 解决方案2: 链接:HttpContext.Current.Session null item sessionKey可能正在改变,你可能只需要做: HttpContext.Current.Session["CurrentUser"] 或者会话可能即将到期,检查超时: http://msdn.microsoft.com/en-us/library/h6bb9cz9(VS.71).aspx 或者您可能正在从其他位置设置会话值,通常我通过一个属性控制对Session / Context对象的访问 static readonly string SESSION_CurrentUser = "CurrentUser"; public static SiteUser Create() { SiteUser.Current = new SiteUser(); return SiteUser.Current; } public static SiteUser Current { get { if (HttpContext.Current.Session == null || HttpContext.Current.Session[SESSION_CurrentUser] == null) { throw new SiteUserAutorizationExeption(); } return HttpContext.Current.Session[SESSION_CurrentUser] as SiteUser; } set { if (!HttpContext.Current.Session == null) { HttpContext.Current.Session[SESSION_CurrentUser] = value; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET Server.Transfer()问题
- asp.net-web-api – 如何设置Elmah与ASP.NET Web API
- asp.net – App_Offline.htm没有导致网站崩溃的可能原因是什
- ASP.NET Core 基础教程 - ASP.NET Core 基础教程 - 简单教程
- asp.net – 无法加载文件或程序集’Microsoft.Office.Inter
- 如果我应该开始使用asp.net mvc 4而不是asp.net MVC 3,我可
- asp.net-mvc – Crystal Reports Images和ASP.Net MVC
- asp.net-mvc-3 – 无法添加从其他类继承的模型的控制器
- asp.net获取iis相关信息
- asp.net-mvc – MVC1和MVC2之间的区别
- asp.net – 在WCF中将对象数组序列化为JSON以符合
- asp.net web api控制器中不允许405个方法选项?
- asp.net-mvc – 模型支持DB上下文已更改;考虑代码
- .net – 在WebApi中,我应该在哪里调用ActionFilt
- asp.net-mvc – 控制器操作无法从JSON读取Guid P
- asp.net-mvc – 什么是MVC 5的会员提供商?
- 在asp.net gridview中如何访问RowDataBound事件中
- asp.net-mvc – 为什么需要为Html.Action定义的路
- asp.net – 何时使用HttpApplicationState而不是
- ASP.NET-MVC.如何从URL获取控制器名称?