【问题标题】:Blocking postback when setting enableSession=true in web method在 web 方法中设置 enableSession=true 时阻止回发
【发布时间】:2015-06-28 06:01:49
【问题描述】:

我正在使用 asp.net webmethod for jquery ajax asynchronous call 进行非常漫长的过程。我使用session variable 来存储对象,所以我在webservice 的webmethod 声明中设置了EnableSession = true

但问题是,在将会话设置为true 之后,它会进一步阻止像postback 这样的任何操作,直到漫长的过程完成,用户无法注销或回发或打开另一个 aspx 页面。那么我们如何才能解决这个问题,请帮助任何人知道这个问题。

【问题讨论】:

  • 你在会话中存储什么样的数据?

标签: c# asp.net web-services session


【解决方案1】:

问题是Session 对象被锁定,任何使用它的请求都将被锁定,直到您长时间运行的进程释放它。

看看这个 SO Q&A:Is it possible to force request concurrency when using ASP.NET sessions?

您必须更改长期运行进程的设计,使其不依赖于Session。例如,将所需的会话数据存储在其他地方(例如在数据库中),并让长进程从备用存储中读取数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-05
    • 2016-08-06
    • 2015-09-24
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    相关资源
    最近更新 更多