2017-06-04 93 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