我正在为webmethod
使用asp.net jquery ajax asynchronous call
进行非常漫长的过程。我使用session variable
来存储对象,因此我在webservice的webmethod声明中设置了EnableSession = true
。
但问题是,在设置true
会话后,它会阻止任何行为,如postback
,直到漫长的过程完成,用户无法注销或回发或打开另一个aspx页。那么我们如何解决这个问题,请帮助任何人知道这个问题。
答案 0 :(得分:1)
问题是Session
对象已被锁定,并且任何使用它的请求都将被锁定,直到您长时间运行的进程释放它。
看看这个SO Q& A:Is it possible to force request concurrency when using ASP.NET sessions?
您希望改变长期运行流程的设计,使其不依赖Session
。例如,将所需的会话数据存储在其他位置(例如在DB中),让长进程从备用存储中读取数据。