在Application_BeginRequest中能不能建立Session?

azev 2003-11-17 06:42:53
protected void Application_BeginRequest(Object sender, EventArgs e)
{
Session["test"]="testvalue";
}

报错
异常详细信息: System.Web.HttpException: 会话状态在此上下文中不可用。
如下也不可以
protected void Application_BeginRequest(Object sender, EventArgs e)
{
Context.Session["test"]="testvalue";
}
但是以下可以
protected void Application_BeginRequest(Object sender, EventArgs e)
{
Response.Write(Context.Server.MachineName);
}

==
我的目的是在每一次请求时判断相应请求文件的代码.
生成在Session中
然后在用户控件中根据建立的Session相应载入二级.三级菜单
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
azev 2003-11-18
  • 打赏
  • 举报
回复
我是在"每次"请求都要处理的.
现在暂时使用Context了.

如果使用Session应该在什么地方处理?
思归意思是在Application_AcquireRequestState中处理?
saucer 2003-11-18
  • 打赏
  • 举报
回复
do it in Session_Start or if you need to change it, do it after

Application_AcquireRequestState


see
http://www.wintellect.com/resources/faqs/default.aspx?faq_id=1&page=2

http://www.c-sharpcorner.com/asp/Articles/DetailedViewOfGlobalAsaxDPL.asp

- BeginRequest
- AuthenticateRequest
- AuthorizeRequest
- ResolveRequestCache
- AcquireRequestState
- PreRequestHandlerExecute
- PreSendRequestHeaders
- PreSendRequestContent
- (actual processing)
- PostRequestHandlerExecute
- ReleaseRequestState
- UpdateRequestCache
- EndRequest
chegan 2003-11-18
  • 打赏
  • 举报
回复
不能,这时候还没有session对象
begar 2003-11-17
  • 打赏
  • 举报
回复
在Session_start中
你还没有搞清楚Session和Application的区别
cbspy 2003-11-17
  • 打赏
  • 举报
回复
你应该写在Application_OnStart(Object sender, EventArgs e)事件中
张新林 2003-11-17
  • 打赏
  • 举报
回复
从理论上感觉不可用,没试过。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧