gpt4 book ai didi

c# - task.factory startnew 的使用使我的网站不时取消用户登录

转载 作者:行者123 更新时间:2023-11-30 21:11:49 24 4
gpt4 key购买 nike

这是我的代码顺序:

我做了很多

task.factory.startnew(()=> myFunction(myObject, httpSessionState))

我将 System.Web.SessionState.HttpSessionState 发送到 myFunction 因为我不等待任务结束,所以它们在后台运行,我无法在 myFunction 中获取 session 因为

 System.Web.HttpContext.Current = null.

myFunction 调用网络服务并将其结果存储在 httpSessionState 对象中

然后我进行多次 ajax 调用以从服务器获取 session 值,直到获得所有需要的值。

问题:

我无法解释为什么用户会时常被取消登录。我假设 session 变为空。所有用户同时被注销。所有 session 对象都可能变为空

最佳答案

这通常发生在(失去 session )当服务器进程w3wp.exe 重新启动(Asp.net 应用程序池)。

通常托管提供商对每个应用程序池都有一个内存上限,当达到该上限时会重新启动池以避免占用服务器。

所以基本上这可能意味着您的应用程序消耗了大量内存(或存在内存泄漏)。

在您的情况下,这可能意味着您生成的任务太重或泄漏,这表明您需要检查 myFunction()。

如果需要限制并发度来微调内存使用: http://msdn.microsoft.com/en-us/library/ee789351.aspx

关于c# - task.factory startnew 的使用使我的网站不时取消用户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7837145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com