session值取不到

hanshuai888 2011-08-17 10:21:15
我有一个seesion是在异步方法中赋值的,当session的保存方式是InProc时没问题,但是现在为了session不丢失,把session的保存方式改为StateServer,但是改后session值就取不到了。我跟踪已经确定是在异步方法中赋值取不到,其他地方给session赋值都可以取到。求助!
...全文
172 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
WJY_123456 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 fengyarongaa 的回复:]
看看session的名字是不是正确的
[/Quote]
看看
  • 打赏
  • 举报
回复
默认值原来是为true。把你的值修改一下试一试。
  • 打赏
  • 举报
回复
修改你的配置文件中的 useHostingIdentity 参数。
tomysea 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hanshuai888 的回复:]
引用 7 楼 tomysea 的回复:
“我跟踪已经确定是在异步方法中赋值取不到,其他地方给session赋值都可以取到。求助!”

->你的异步方法是指javascript异步还是asp.net本身的异步页面?
如果是指javascript的ajax异步页面启用,并且处理程序用的是ashx页面的话,里面默认是不允许使用Session的,你的ashx类必须实现接口System.Web.Se……
[/Quote]

异步页面会另外开一线程去处理任务,我没有用过这个asp.net的异步
只能期待你的答案~~~
ycproc 2011-08-17
  • 打赏
  • 举报
回复
看看session的名字是不是正确的
hanshuai888 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tomysea 的回复:]
“我跟踪已经确定是在异步方法中赋值取不到,其他地方给session赋值都可以取到。求助!”

->你的异步方法是指javascript异步还是asp.net本身的异步页面?
如果是指javascript的ajax异步页面启用,并且处理程序用的是ashx页面的话,里面默认是不允许使用Session的,你的ashx类必须实现接口System.Web.SessionState.IRequiresS……
[/Quote]
asp.net的异步,刚才找到一个解决办法,就是在调用把异步方法前传入一个HttpContext参数,然后在异步方法中用HttpContext.Application保存值就可以了,不过seesion里面的值还是取不到,如果不传HttpContext参数,Application的值也是取不到的。
极地_雪狼 2011-08-17
  • 打赏
  • 举报
回复
又学到了一招。顶一下!
dalmeeme 2011-08-17
  • 打赏
  • 举报
回复
嗯,楼上说得对,要实现接口的。
tomysea 2011-08-17
  • 打赏
  • 举报
回复
我跟踪已经确定是在异步方法中赋值取不到,其他地方给session赋值都可以取到。求助!

->你的异步方法是指javascript异步还是asp.net本身的异步页面?
如果是指javascript的ajax异步页面启用,并且处理程序用的是ashx页面的话,里面默认是不允许使用Session的,你的ashx类必须实现接口System.Web.SessionState.IRequiresSessionState
孟子E章 2011-08-17
  • 打赏
  • 举报
回复
其他地方给session赋值都可以取到?
那说明你的异步代码有问题 吧
hanshuai888 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 net_lover 的回复:]
你取的时候 异步方法 的代码执行了吗?
[/Quote]
执行了,异步方法中给session赋值的代码也执行了,但是在其他地方就取不到这个session值。session保存方式是InProc时就可以取到。
hanshuai888 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxr0323 的回复:]
这种情况下应该是在进程外

启动ASP.NET State Service服务了没
[/Quote]
启动了
孟子E章 2011-08-17
  • 打赏
  • 举报
回复
你取的时候 异步方法 的代码执行了吗?
子夜__ 2011-08-17
  • 打赏
  • 举报
回复
运行 services.msc 开启服 看还丢不
子夜__ 2011-08-17
  • 打赏
  • 举报
回复
这种情况下应该是在进程外

启动ASP.NET State Service服务了没

62,039

社区成员

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

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

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

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