asp.net – 为什么Global.asax中的HttpContext.Current.Session为null?
|
我使用VS2010创建了一个简单的asp. Web表单应用程序,使用Development Server进行测试.
public static void Initialize(string login_name,bool force_refresh)
{
HttpSessionState Session = HttpContext.Current.Session;
object o = Session == null ? null : Session["EMPLOYEE_DATA"];
if (force_refresh || o == null || o.GetType() != typeof(Employee) || (o as Employee).login_name!= login_name)
{
_current = UIManager.GetEmployee(login_name);
if (Session != null)
{
Session["EMPLOYEE_DATA"] = _current;
}
}
else
{
_current = (Employee)o;
}
}
_current变量是通过静态属性发布的私有静态字段. protected void Session_Start(object sender,EventArgs e)
{
Session["EMPLOYEE_DATA"] = EmployeeFactory.Current;
}
在下一轮中,Session_Start当然不被调用,但在AuthenticateRequest中我无法访问该会话. HttpContext.Current.Session为空,并且this.Session引用引发一个HttpException表示“会话状态在此上下文中不可用”. 然而,我可以从任何page_load事件访问会话,但这是一个糟糕的做法,我认为我将身份验证每一页__load. 谢谢你的建议, 解决方法您无法在Application_AuthenticateRequest上使用Session,因为它不受限制.我想你可以使用事件Application_AcquireRequestState. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – FluentValidation – 验证跨多个属性
- asp.net-mvc – asp.net mvc从包中排除css文件
- asp.net-web-api – 哪个优先级,ASP.NET Web Api 2.0中的Ex
- asp.net-mvc – 禁用客户端缓存
- asp.net-mvc – 在Azure中启用自定义错误
- ASP.NET中的应用程序生存期
- .net – linq排序列表(MyObjects)
- asp.net – 了解runat服务器属性
- asp.net-mvc – WebService还是一个简单的MVC控制器?
- asp.net-mvc – 在OS X 10.7.4上的MonoDevelop中构建MVC4项
- 使用Asp.Net MVC和Web Api配置Ninject
- asp.net – Internet Explorer中的“通过电子邮件
- asp.net-mvc – Unity使用参数将依赖项注入MVC过
- asp.net – 如何获取当前登录用户的角色列表
- asp.net-mvc – 如何在MVC中测试ModelMetadata.F
- ASP.NET MVC4 WebApi路由中包含文件名
- asp.net-mvc – 在活动的SignalR连接期间更改用户
- asp.net-mvc – 如何使用MVCSiteMap进行隐式本地
- asp.net-mvc – 如何将Bootstrap下拉式样应用于A
- ASP.NET中下载文件的几种实例代码
