gpt4 book ai didi

c# - Web 应用程序中的异步函数 Thread.Sleep

转载 作者:太空狗 更新时间:2023-10-29 23:18:53 39 4
gpt4 key购买 nike

我维护一个 ASP.NET Web 应用程序,该应用程序在执行过程时会导致用户的网络连接重置几秒钟。因此,页面请求在用户端超时,因为他们从未收到 Web 应用程序的响应(连接在获得响应数据包之前终止)。

为了解决这种情况,我正在考虑让 ASP.NET 页面执行一个包含 Thread.Sleep(5000); 的异步函数;//在执行连接重置之前休眠 5 秒 这样,浏览器在连接重置之前有 5 秒的时间接收页面响应。

尽管如此,我还是担心在 ASP.NET 中使用 Thread.Sleep 和异步函数。我以前从未尝试过这样做,所以我不确定它可能导致的潜在问题。有没有人看到在 ASP.NET 应用程序中启动包含 Thread.Sleep 的异步线程的潜在问题?如果是这样,您能想到更好的解决方案吗?

最佳答案

在异步方法中放置 Thread.Sleep 可能会导致 ThreadPool Starvation,因为它会阻塞有限数量的线程之一几秒钟 - 该线程可能会停止为客户端请求提供服务。

相反,为什么不创建一个在五秒后触发的计时器?同样的效果,只是在定时器的事件中注册你延迟的工作。

关于c# - Web 应用程序中的异步函数 Thread.Sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3672497/

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