protected override void OnStartup(StartupEventArgs e) { var publishEvent = Container.Resolve <IPublishEvent>(); try { var appPreStartEvent = new PapercutClientPreStartEvent(); publishEvent.Publish(appPreStartEvent); if (appPreStartEvent.CancelStart) { // force shut down... publishEvent.Publish(new AppForceShutdownEvent()); return; } base.OnStartup(e); // startup app publishEvent.Publish(new PapercutClientReadyEvent()); } catch (Exception ex) { Container.Resolve <ILogger>().Fatal(ex, "Fatal Error Starting Papercut"); throw; } }
protected override void OnStartup(StartupEventArgs e) { var messageBus = this.Container.Resolve <IMessageBus>(); try { var appPreStartEvent = new PapercutClientPreStartEvent(); messageBus.Publish(appPreStartEvent); if (appPreStartEvent.CancelStart) { // force shut down... messageBus.Publish(new AppForceShutdownEvent()); Shutdown(); return; } base.OnStartup(e); messageBus.Publish(new PapercutClientReadyEvent()); } catch (Exception ex) { Log.Logger.Fatal(ex, "Fatal Error Starting Papercut"); } }