gpt4 book ai didi

c# - Web API 服务 - 如何使服务器上的请求并发执行

转载 作者:太空狗 更新时间:2023-10-29 17:53:30 24 4
gpt4 key购买 nike

我正在使用由 IIS 7.5 托管的 WebApi 休息服务 Controller ,正如我从这篇文章中了解到的:

Are all the web requests executed in parallel and handled asynchronously?

默认情况下,webApi 服务会并行执行所有传入的请求,但仅当当前多个请求(在特定时间时间)来自不同的 session 。也就是说,如果单个客户端向服务器发送一些同时请求,所有这些请求将顺序执行,不会并发执行.

这种行为对我们来说是一个真正的问题,因为在某些情况下,我们的客户端会异步地(通过浏览器)从不同客户端的监听器发送一堆请求,而所有这些请求实际上都是排队而不是在服务器上同时执行。因此,在某些情况下,我们会遇到严重的性能问题,这些问题在客户的网页上非常明显。

我们如何解决这个问题?我知道我们也许可以禁用 session 状态,但这不是正常的做法。

最佳答案

实际上,禁用 session 状态是 Web API 的正常解决方案。如果您的部分/所有电话需要它,您可以调用 HttpContext.SetSessionStateBehavior (例如,来自 Application_BeginRequest)。多个只读 session 状态请求可以同时运行。

关于c# - Web API 服务 - 如何使服务器上的请求并发执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23855975/

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