static IBusControl Build(IBusFactory factory, IBusConfiguration busConfiguration, IEnumerable <ValidationResult> validationResult) { if (LogContext.Current == null) { LogContext.ConfigureCurrentLogContext(); } busConfiguration.HostConfiguration.LogContext = LogContext.Current; var result = BusConfigurationResult.CompileResults(validationResult); try { var busReceiveEndpointConfiguration = factory.CreateBusEndpointConfiguration(x => x.ConfigureConsumeTopology = false); var host = busConfiguration.HostConfiguration.Build(); var bus = new MassTransitBus(host, busConfiguration.BusObservers, busReceiveEndpointConfiguration); TaskUtil.Await(() => busConfiguration.BusObservers.PostCreate(bus)); return(bus); } catch (Exception ex) { TaskUtil.Await(() => busConfiguration.BusObservers.CreateFaulted(ex)); throw new ConfigurationException(result, "An exception occurred during bus creation", ex); } }
public Handle(IHost host, HostHandle hostHandle, MassTransitBus bus, IBusObserver busObserver, ILogContext logContext) { _host = host; _bus = bus; _busObserver = busObserver; _logContext = logContext; _hostHandle = hostHandle; Ready = ReadyOrNot(hostHandle.Ready); }