ASP.NET Core WebAPI服务和AMPQ(Rabbit MQ)上的订阅



任务是为搜索服务做一个Web API(REST(服务。此外,此服务应在接收事件时聆听队列并重新索引内容。

将收听逻辑插入ASP.NET Core WebAPI应用程序的最佳方法是什么?

这是有效的解决方案,但我不确定这是否很好。

Program.cs

var host = new WebHostBuilder()
    .UseKestrel()
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseIISIntegration()
    .UseStartup<Startup>()
    .Build();
var ampq = host.Services.GetService(typeof(IAmpqListener)) as IAmpqListener;
ampq?.Subscribe();
host.Run();

我在github上有一个库。

此库使聆听(消费(和/或通过RabbitMq。

更简单。

消费者示例:

public class FooWorker : IWorker<FooData>
{
    public string JobName => "foo.job.name"; // Should be same as dispatched job name.
    public bool Work(FooData data)
    {
        // Lets, do whatever you want by data.
        // Return true, if working completed successfully, otherwise return false.
        return true;
    }
}

fooworker是听众。当消息传输到名为foo.job.name。

的队列时调用的工作方法

有关更多信息:https://github.com/turgayozgur/tossit

最新更新