gpt4 book ai didi

c# - ASP.NET 单工作线程? (在内存 session 中)

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

我在我的 ASP.NET MVC 应用程序中使用内存 session ,这意味着我只能有一个工作线程,对吗?这是否意味着我的应用程序中是否有并行处理(想想并发请求)?我的应用程序一次只接受 1 个请求吗?

编辑:根据IIS7网站:



如果应用程序使用进程内 session 变量,
该应用程序将无法正常运行,因为同一用户请求
被不同的工作进程拾取
不要共享相同的 session 详细信息。

那么这意味着内存 session 只能有 1 个工作线程吗?另见 here来自 IIS7 论坛。

最佳答案

您的应用程序一次接收多个请求。根据您在此处的编辑和评论,您正在寻找有关 Web 园和 session 的信息,而不是线程和 session 状态。

Web Gardens 使用多个进程,在 session 状态方面充当负载平衡器。每个进程在内存中都有一个单独的 session 存储。 IIS 将向任何可用进程发送请求。由于进程不共享 session 状态,因此只有当您的 session 提供程序在所有网络花园进程之间共享时, session 使用才会真正起作用。

Web Gardens 仅在您将 SQL Server 之类的东西用于 session 状态并希望与特定 CPU/核心具有密切关系时才有意义。由于您可以增加线程数,因此对于某些用户来说,这可能是比使用网络园更合适的优化。然而,由于特定的工作负载或应用程序特性,一些应用程序可能会在网络园中表现得更好。在测试中使用网络花园还可以帮助解决负载平衡下存在的一些潜在问题。

我相信它使用 .NET 线程池并且默认有 20 个线程。进入服务器的每个请求都可以在单独的线程上处理。 ASP.NET performance guidelines有关于这个主题的一些信息。

关于c# - ASP.NET 单工作线程? (在内存 session 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1320163/

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