[英]C# ASP.NET Core - run code periodically/automatically in a deployed web app/API
[英]Can a button be used to run cpu intensive code and then display the results using c# and asp.net for a web app
我目前正在尝试创建一个具有主页的应用程序。 在此主页上,有一个按钮,它将运行CPU密集型代码,然后显示结果。 正如我在标题中所述,该应用程序使用的是ASP.NET和C#,而不是Windows Forms,我看过的其他一些网站似乎暗示了这一点。
我对C#还是比较陌生,还没有尝试使用其他任何编程语言进行此操作。 我也没有要显示的代码,因为我真的不知道该如何进行。
是的,它可以在服务器上运行CPU密集型代码。 请注意,这通常会阻止您的Web应用程序在合理的时间内发送响应,并且该Web应用程序似乎已冻结。
您打算使用哪种类型的CPU密集型代码? 有许多方法可以处理这种情况。
通过“ CPU密集型”,我想您是说该过程需要很长时间才能完成? 在Web应用程序中,所有花费多于几分钟的时间都应异步完成。 在HTTP的请求/响应模型中,最好(出于多种原因)最好快速响应发出请求的客户端。
对于长时间运行的进程,“异步”并不是指使用AJAX,因为它仍然像其他任何请求/响应一样。
“异步”在这种情况下的意思是,您希望有一个单独的服务器端进程来处理CPU密集型任务,并且Web应用程序除了将任务排队等待运行并检查任务状态时,无外乎人们在寻找它。 然后,它可以在完成任务后报告任务的结果。
因此,该架构的基本概述如下所示:
这里要记住的主要事情是将职责分为两个应用程序 。 该Web应用程序旨在提供用户界面。 Web应用程序不适合长时间运行的后台任务。 因此,将责任转移到更适合该目的的单独应用程序中。 这两个应用程序通过共享数据库进行协调。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.