ASP.NET会话和线程问题

时间:2011-12-15 11:59:28

标签: asp.net session session-state

在我的ASP.NET应用程序中,我创建了一个自定义线程。线程正在更新会话。当我使用InProc会话状态时,它运行良好,但在使用SQLServer会话状态时,会话未更新。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我找不到支持它的文档,但我认为SqlServer会话状态会在请求处理结束时将Session序列化到数据库。因此,在此时间之后发生更改的任何内容都将被忽略,因为新请求将从数据库中获取会话。

答案 1 :(得分:0)

在这个过程中做什么很重要?您似乎正在更新存储在会话中的一些对象。

现在它正在使用InProcess而不是Sql意味着你有对象序列化的问题。

如果您正在使用存储在Session中的某个类whoes实例来使该类可序列化。

如果这对您没有帮助,请提供更多信息。

感谢。

答案 2 :(得分:0)

要查看正在发生的事情的实际示例,请查看此问题(使用示例代码)I posted a few days ago

我认为没有办法“让主线程知道它应该在序列化到数据存储之前等待”。你只需要等到后台线程完成。哪种方式首先打败了使用后台线程的目的。