ASP.NET MVC - 如何运行单独的进程并让用户继续正常的应用程序使用



我有一个MVC C# Web应用程序,存在效率问题。我们有一个用户可以点击的控制器方法,它运行一个通知过程,有时可能需要翻阅 10k+ 记录,并发送相关的通知。此过程有时可能需要15 +分钟。

我的问题只是一般性的,任何指导都值得赞赏。我将如何使此过程更有效率?理想情况下,用户将执行该操作以点击我们的控制器并启动这个巨大的进程,然后在进程在后台运行时返回到正常的应用程序使用。

我会只使用异步控制器方法实现这一点,还是什么?

仅仅因为您正在运行MVC网站应用程序,并不意味着您不能利用线程和异步处理。 我建议您熟悉 .NET 中的异步编程。

使用最简单的方法,您将启动新任务,并且根据需要可以选择订阅回调方法来执行完成后处理。

MVC或任何其他网站的诀窍是如何启动任务以及如何向用户发送通知。这将需要使用 JavaScript 进行一些客户端编程,但我建议使用最现代的方法:如果您倾向于在网站上进行更繁重的处理,请使用 Blazor ASP.NET Core (Binary Razor(。在撰写本文时,Blazor 技术仍处于测试阶段。

相关内容

最新更新