【问题标题】:.NET/C# REST Api Messages to Queue [closed].NET/C# REST Api 消息到队列 [关闭]
【发布时间】:2020-07-09 01:54:06
【问题描述】:

我是 .NET/C# 的新手,我想知道 oyu 如何实现以下场景:

我需要一个具有一个端点的 REST Api,它接受消息(字符串)。 该消息应该存储在一个队列中,然后应该有一个或多个线程来消费和处理这个队列。

我不想使用 Hangfire、RabbitMq 等。我看到的唯一一件事是使用 NancyFx 在控制台应用程序中创建 Rest API,从那里我可以实现所描述的场景,但在 . NET Core WebApi,因为你不能在那里创建线程?

【问题讨论】:

  • 您想将消息从 Web API 发送到队列并在同一个 Web API 应用程序中使用队列中的消息?
  • 注意 BlockingCollection 是你的朋友。 docs.microsoft.com/en-us/dotnet/standard/collections/…
  • @chetan 我想通过 Rest Api 接收消息,是的,问题是:如果我想将它放入队列中进行处理,我应该在同一个应用程序中进行吗?如果可能,怎么做?
  • @DavidBrowne-Microsoft 谢谢,但是我如何在 .NET Core WebApi 中实现它以及如何在 WebApi 中创建一个线程来处理该队列?
  • 在此处查看文档“ASP.NET Core 中托管服务的后台任务”:docs.microsoft.com/en-us/aspnet/core/fundamentals/host/…

标签: c# .net asp.net-web-api .net-core nancy


【解决方案1】:

您可以使用 Asp.Net Core Webapi 并使用 Task 而不是 Thread。如果不使用任何其他第三方如 RabbitMq、Redis 或其他消息队列,则必须创建共享变量如DictionaryList 并实现同步机制(如使用Lock ) 自己来避免并发造成的任何问题。

【讨论】:

    猜你喜欢
    • 2010-10-17
    • 1970-01-01
    • 2012-12-21
    • 2021-09-30
    • 2011-01-28
    • 2017-04-14
    • 2013-01-05
    • 2013-12-15
    • 2018-05-16
    相关资源
    最近更新 更多