gpt4 book ai didi

asp.net - 我应该如何在 ASP.NET 4 中执行长时间运行的任务?

转载 作者:行者123 更新时间:2023-12-02 23:21:38 25 4
gpt4 key购买 nike

我正在使用 .NET 4 构建一个网站。有很多 MSDN 文章可追溯到 2003, about using Thread objects2007, using Asynchronous Pages in .NET 2 ,但这一切都很陈旧。我知道 .NET 4 为我们带来了 Task classsome people vaguely cautioning against its use for this purpose

所以我问你,2011 年左右在 ASP.NET 4 中的 IIS 下运行后台/异步工作的“首选”方法是什么?直接使用线程/任务有哪些注意事项? Async=true 仍然流行吗?

编辑:好的,好的,从答案中可以清楚地看出,我的意见是,如果可以的话,我应该提供服务。但在 Web 应用程序内部执行此操作的优点是显着的,尤其是更容易部署/重新部署。假设该进程不会崩溃,那么,如果我要在 IIS 内执行此操作,最好的方法是什么?

最佳答案

优先避免在这种环境中执行长时间任务。

通过互操作性将长时间运行的任务委托(delegate)给稳定的系统服务,使 Web 应用程序能够响应,并且仅需要直接用户请求。

Web 应用程序从来没有(现在仍然不是)被认为是可靠的系统 - 可以肯定的是,任何使用过浏览器的人都(至少)遇到过超时;而这种(对双方)不便并不限于这种情况。当然,任何系统都可能崩溃,但在内置持久系统上发生此类事件的情况应该完全异常(exception)。

Windows 服务被设计为长时间运行,如果出现问题,您通常需要担心的不仅仅是您的个人服务。

关于asp.net - 我应该如何在 ASP.NET 4 中执行长时间运行的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5553001/

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