任务是创建一个web api(rest)服务,即搜索服务。 此服务也应该在接收事件时监听队列并重新编制索引。
将侦听逻辑插入ASP.NET Core WebApi Application的最佳方法是什么?
这是一个有效的解决方案,但我不确定它是不是很好。
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();
答案 0 :(得分:0)
我在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。
的队列时调用的工作方法