.net core 在.net core Worker服务(或控制台应用程序)中配置REBS
我已经看到,使用Startup.cs在ASP.NET核心执行管道中添加rebus非常简洁。 我想知道对于Worker服务或一般的控制台应用程序,是否有相同的简洁方法来实现同样的功能 我见过的大多数.net核心控制台应用程序都是非常简单的演示应用程序。 如果有任何使用.net核心控制台应用程序的具体示例配置,请告知。 当做.net core 在.net core Worker服务(或控制台应用程序)中配置REBS,.net-core,configuration,microservices,rebus,.net Core,Configuration,Microservices,Rebus,我已经看到,使用Startup.cs在ASP.NET核心执行管道中添加rebus非常简洁。 我想知道对于Worker服务或一般的控制台应用程序,是否有相同的简洁方法来实现同样的功能 我见过的大多数.net核心控制台应用程序都是非常简单的演示应用程序。 如果有任何使用.net核心控制台应用程序的具体示例配置,请告知。 当做 Amour Rashid一种方法是添加Microsoft的Microsoft.Extensions.Hosting包,并将您的后台服务构建为后台服务: 公共类MyBackgro
Amour Rashid一种方法是添加Microsoft的Microsoft.Extensions.Hosting包,并将您的后台服务构建为
后台服务
:
公共类MyBackgroundService:BackgroundService
{
readonly IServiceCollection_services=new ServiceCollection();
公共背景服务()
{
//配置总线
services.AddResbus(
配置=>configure
.Transport(t=>t.Use(…)
);
}
受保护的覆盖异步任务ExecuteAsync(CancellationToken stoppingToken)
{
使用var provider=_services.BuildServiceProvider();
//启动公共汽车
provider.UseRebus();
同时(!stoppingToken.IsCancellationRequested)
{
等待任务延迟(时间跨度从秒(1)开始,停止停止);
}
}
}
然后你可以通过
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureServices((主机上下文,服务)=>
{
services.AddHostedService();
});
在您的创业中。谢谢Mogens,
另一种方法是
var host=CreateHostBuilder(args.Build()
host.UseRebus();
host.Run()
或在ConfigureServices方法中
....
var provider=services.CreateServiceProvider();
provider.UseRebus()
它帮助我使用REBS创建工人服务