我正在构建 c# .NET 4.8.1 MVC Web 应用程序,该应用程序将允许用户设置一个可能长时间运行的任务来处理可能数千条记录。用户应该能够立即执行任务或将其安排在未来的日期/时间。如果他们立即执行它,网页应该显示一个进度表,随着任务进度的发生,该进度表会从服务器更新。但是,如果他们离开页面并返回(或在计划任务开始后返回),我想附加到异步进程,以便用户仍然可以获得更新的进度报告。只要任务正在运行,用户还应该可以选择通过 UI 暂停、恢复或取消任务。
我不是异步架构或编程方面的专家。我应该设置一个单独的 WCF 服务来处理后端吗?在初始创建后,如何处理将 UI 网页重新附加到任务流程的情况?我将任务详细信息存储在 MS SQL Server 表中。谁能给我一些关于正确方向的指导?