gpt4 book ai didi

c# - ASP.NET 线程 - 我可以使用异步方法还是使用线程?

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:58 26 4
gpt4 key购买 nike

我的环境 - C# 3.5 和 ASP.NET 4.0 以及 VS 2010

抱歉 - 我对一些与线程和异步方法相关的概念有点陌生。

我的场景是这样的:

  1. 我的网站会定期向外部网站发送几次 GET/POST 并收集一些数据
  2. 此数据将缓存在中央缓存中
  3. 周期性操作大约每 5 分钟发生一次,并且会发生在每个在我的网站上注册的新成员身上。成员查询将在一定条件下停止
  4. 用户不需要为这些定期查询登录 - 他们在网站上注册,然后关闭我的异步代码 - 它保持 24/7 全天候工作,并根据特定触发器偶尔通过电子邮件向用户发送消息健康)状况。所以基本上这一切都应该在后台发生,无论用户是否明确登录。

预期负载 - 我预计每天大约有 100 名正在运行的成员(考虑到新成员 + 老成员离开/停止)。

等式是 ~ 100 位访问者/天 x 4 POST 每次抓取 x 12 次抓取/小时 x 8 小时/天

在我看来 - 我每天运行 100 个线程,每个“线程”每 5 分钟唤醒一次并执行一些操作。线程将与所有线程共享的静态中央缓存交互。

我读过一些关于 ThreadPools、AsyncPage 等的讨论——所有这些都是新领域。在我的情况下,你会建议什么?执行此操作的最佳方法是什么?

在您的回复中,如果您提到要使用的特定类/方法/链接,我将不胜感激,这样我就可以追究这个问题。非常感谢!

最佳答案

您将无法使用 ASP.net 这样做,您将无法保持“线程”以任何级别的可靠性运行。 IIS 可以决定在任何时间点重新启动应用程序池(即整个过程)。您真正需要的是某种运行并发出请求的 Windows 服务。您可以使用 HttpWebRequest.BeginGetResponse 方法进行调用。这将在响应返回时触发相关事件委托(delegate),.net 将管理线程。

关于c# - ASP.NET 线程 - 我可以使用异步方法还是使用线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3494904/

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