代码之家  ›  专栏  ›  技术社区  ›  fcatacutan

N服务总线。主机-如何将端点实例添加到IoC容器

  •  1
  • fcatacutan  · 技术社区  · 8 年前

    我正在尝试将解决方案从NServiceBus 5升级到6。目前,我们正在将IBU注入服务类,以便服务可以根据需要向总线发送消息。既然IBus在6中不再可用,如何在使用NServiceBus创建端点时注入端点实例。主机,它本身将启动此端点?

    下面提供了一个示例 https://docs.particular.net/samples/hosting/multi-hosting/

    var endpointConfiguration = new EndpointConfiguration("Samples.MultiHosting.Instance1");
    endpointConfiguration.UseSerialization<JsonSerializer>();
    endpointConfiguration.EnableInstallers();
    endpointConfiguration.UsePersistence<InMemoryPersistence>();
    endpointConfiguration.SendFailedMessagesTo("error");
    return Endpoint.Start(endpointConfiguration);
    

    然而,它后面紧跟着一个注释,表示 这仅在自托管且不使用NServiceBus.Host时才可能 ."

    1 回复  |  直到 8 年前
        1
  •  7
  •   Bob.Langley    8 年前

    使用 IWantToRunWhenEndpointStartsAndStops 注入 IMessageSession 巴士开动后,您的服务级别。

    以下是NServiceBus.Host升级指南的相关部分: https://docs.particular.net/nservicebus/upgrades/host-6to7#iwanttorunwhenendpointstartsandstops-interface-in-version-7-of-nservicebus-host

    另一种选择是切换到 NServiceBus Windows Service Bootstrap 而不是使用NServiceBus。主机,您将对端点的生命周期拥有更多控制。