gpt4 book ai didi

c# - 每个 session 的线程限制?

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

我有一个 aspx 页面,它通过 Jquery Ajax 请求异步加载 10 个图表。正在向实现 IReadOnlySessionState 的通用处理程序发出请求,因为需要访问 session 变量,但它是一个读取,这样我就不会受到 asp.net 实现的读写 session 锁的影响。

通过调试器,我可以看到调用是异步发生的,但似乎存在一个限制,因为一些调用仅在前几个调用完成后才进入代码。我不确定这是 IIS 的设计还是 web.config 中的属性。

一个用户/ session 一次可以拥有的线程是否有限制?

最佳答案

IIS 和 asp.net 处理线程的方式取决于您使用的 IIS 版本。工作线程的数量有限制,必须保持可用的线程数量也有上限。这意味着一次只能执行一定数量的线程。

参见:http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx

If your ASP.NET application is using web services (WFC or ASMX) or System.Net to communicate with a backend over HTTP you may need to increase connectionManagement/maxconnection. For ASP.NET applications, this is limited to 12 * #CPUs by the autoConfig feature.

也来自同一篇文章:http://support.microsoft.com/kb/821268

如果您长时间运行来自 AJAX 的 HTTP 请求,最好的办法是执行异步 http 请求处理程序。然后请求可以在 IO 线程上等待,因为 asp.net 的 IO 线程比工作线程多得多。

参见:http://www.asp.net/web-forms/tutorials/aspnet-45/using-asynchronous-methods-in-aspnet-45

关于c# - 每个 session 的线程限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18404766/

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