在我的ASP.NET应用程序中,我创建了一个自定义线程。线程正在更新会话。当我使用InProc会话状态时,它运行良好,但在使用SQLServer会话状态时,会话未更新。有什么想法吗?
答案 0 :(得分:1)
我找不到支持它的文档,但我认为SqlServer会话状态会在请求处理结束时将Session序列化到数据库。因此,在此时间之后发生更改的任何内容都将被忽略,因为新请求将从数据库中获取会话。
答案 1 :(得分:0)
在这个过程中做什么很重要?您似乎正在更新存储在会话中的一些对象。
现在它正在使用InProcess而不是Sql意味着你有对象序列化的问题。
如果您正在使用存储在Session中的某个类whoes实例来使该类可序列化。
如果这对您没有帮助,请提供更多信息。
感谢。
答案 2 :(得分:0)
要查看正在发生的事情的实际示例,请查看此问题(使用示例代码)I posted a few days ago。
我认为没有办法“让主线程知道它应该在序列化到数据存储之前等待”。你只需要等到后台线程完成。哪种方式首先打败了使用后台线程的目的。