在MVC 6中配置NServiceBus总线实例

swa*_*nee 2 nservicebus asp.net-core-mvc asp.net-core

在之前的ASP.Net版本中,NServiceBus示例声明在global.asax中创建Bus实例.然后在应用程序的Dispose上(在global.asax中),将处理前面提到的总线实例.有点像下面的缩写版本:

IBus bus;

protected void Application_Start()
{
    //Bunch of bus configuration and controller registration etc...
    //Now Create the bus and assign to a local variable so we can dispose it
    var startableBus = Bus.Create(busConfiguration);
    bus = startableBus.Start();
}

public override void Dispose()
{
    if (bus != null)
    {
        bus.Dispose();
    }
    base.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

但是在vNext中,我所知道的Startup.cs中没有配置.是否应该以某种方式保持公交车的实例?vNext是否应该遵循其他一些模式?

谢谢!

Joh*_*ons 6

如果我没有记错的话,它看起来像您添加IApplicationLifetimeConfigure,然后等待ApplicationStopping被取消.

这是一个片段:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory, IApplicationLifetime lifetime)
{
   // New up/start bus here

   lifetime.ApplicationStopping.Register(() =>
   {
           // Stop the bus here
   });
Run Code Online (Sandbox Code Playgroud)

此外,看起来他们计划有一个,IApplicationLifetime.ApplicationStarted所以一旦他们发布,我们应该能够在那里启动公交车.