gpt4 book ai didi

ajax - ASP.Net Web API 中的消息队列

转载 作者:行者123 更新时间:2023-12-04 10:39:33 25 4
gpt4 key购买 nike

我正在使用 AngularJS 和 ASP.Net WebAPI 开发客户端单页应用程序 (SPA)。

SPA 的功能之一包括上传大型 CSV 文件,在服务器上对其进行处理,并将输出返回给用户。

显然,这种计算不能在线进行,因此我实现了一个 UploadController 负责接收文件,一个 PollingController 负责在计算完成时通知用户。

客户端应用程序每隔几秒钟监视一次 PollingController。

我没有消息队列方面的经验,但我的直觉告诉我,在这种情况下需要它们。

您建议如何以非阻塞、高效的方式实现此功能?

diagram

示例将受到高度赞赏

最佳答案

我过去曾为此使用过基于消息的服务总线框架。

您编写了一个应用程序(作为 Windows 服务运行),它监听通过事件总线广播的消息。

您的前端可以将这些消息发布到总线中。

.NET 中最流行的框架是 NServiceBus ,但它最近变得商业化。您也可以查看 MassTransit ,虽然这个文档很差。

您将执行的工作流程:

  • MVC 应用程序接受上传并将其放置到 Windows 服务可访问的某个目录中
  • MVC 应用程序发布“UploadReady”消息。
  • 服务接收消息、处理文件并更新轮询 Controller 的某些状态。
  • 轮询 Controller 监视此状态的变化。通常是 DB 记录等

  • 使用这样的框架的好处在于,如果您的服务出现故障,或者您重新部署它,任何处理都可以排队并恢复,因此您不会有任何停机时间。

    关于ajax - ASP.Net Web API 中的消息队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18569361/

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