2017-06-04 284 views
-1

任务是创建一个web api(rest)服务,即搜索服务。 此服务也应监听队列并重新索引事件接收事件。ASP.NET Core WebApi服务和AMPQ上的订阅(Rabbit MQ)

将侦听逻辑插入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(); 
+0

我不知道如何接收数据馈送与ASP.NET核心在具体做的,这是一个很广泛的问题。 – Svek

+0

你有控制器'搜索',使搜索。如何重新索引?我们可以订阅一些事件并调用一些'(新索引器).Build(newId)' – Alex

回答

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的队列中时调用。

欲了解更多信息:https://github.com/turgayozgur/tossit