我可以在后台线程中访问会话吗?

时间:2011-10-01 06:00:08

标签: c# asp.net multithreading

如何在c#.net webapplication中的后台线程中访问我的项目会话?

它给我会话值= null。

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

线程池中的线程由系统管理。这些线程未绑定到当前请求。因此,会话不适用于他们。

session lost when multithreading though

答案 1 :(得分:3)

在ASP.NET中使用后台线程时必须非常小心。到线程执行时,“当前”请求可能会结束。这意味着您无法访问该页面,请求或任何有趣的内容。

答案 2 :(得分:0)

您无法访问会话,但可以使用相同的方式共享数据:HttpRuntime.Cache

但要注意以下几点:与会话不同,缓存会过期。此外,缓存在所有Web用户之间共享。