任务是为搜索服务做一个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