001*_*001 5 c# asp.net masstransit asp.net-core asp.net-core-webapi
按照说明通过https://masstransit-project.com/usage/configuration.html配置 MassTransit 后
你如何使用(发布/订阅)它
namespace App1.Message.API
{
public class Startup
{
.....
private IContainer container { get; set; }
public IServiceProvider ConfigureServices(IServiceCollection services)
{
......
var builder = new ContainerBuilder();
builder.Register(c =>
{
return Bus.Factory.CreateUsingRabbitMq(sbc =>
sbc.Host("localhost", "/", h =>
{
h.Username("guest");
h.Password("guest");
})
);
})
.As<IBusControl>()
.As<IBus>()
.As<IPublishEndpoint>()
.SingleInstance();
builder.Populate(services);
container = builder.Build();
return new AutofacServiceProvider(container);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime lifetime)
{
......
//resolve the bus from the container
var bus = container.Resolve<IBusControl>();
//start the bus
var busHandle = TaskUtil.Await(() => bus.StartAsync());
//register an action to call when the application is shutting down
lifetime.ApplicationStopping.Register(() => busHandle.Stop());
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 0
[ApiController]
[Route("[controller]")]
public class TestController : ControllerBase
{
private readonly IPublishEndpoint _publishEndpoint;
public WeatherForecastController(IPublishEndpoint publishEndpoint)
{
_publishEndpoint = publishEndpoint;
}
}
Run Code Online (Sandbox Code Playgroud)
在ConfigureServices
您注册依赖项时,在应用程序的其他部分中,所有注册的服务都可以通过构造函数上的依赖项注入来解析。
归档时间: |
|
查看次数: |
7190 次 |
最近记录: |