PapercutClient GetClient() { PapercutClient client = _papercutClientFactory(); client.Port = PapercutClient.ClientPort; return(client); }
void DoProcessExchange() { try { var exchangeEvent = new AppProcessExchangeEvent(); // attempt to connect to the backend server... using (PapercutClient client = GetClient()) { if (!client.ExchangeEventServer(ref exchangeEvent)) { return; } IsBackendServiceOnline = true; // backend server is online... _logger.Information("Papercut Backend Service Running. Disabling SMTP in App."); _smtpServerCoordinator.SmtpServerEnabled = false; if (!string.IsNullOrWhiteSpace(exchangeEvent.MessageWritePath)) { _logger.Debug( "Background Process Returned {@Event} -- Publishing", exchangeEvent); this._messageBus.Publish(exchangeEvent); } } } catch (Exception ex) { _logger.Warning(ex, BackendServiceFailureMessage); } }
public void Handle(SettingsUpdatedEvent @event) { if (!IsBackendServiceOnline) { return; } try { using (PapercutClient client = GetClient()) { // update the backend service with the new ip/port settings... var smtpServerBindEvent = new SmtpServerBindEvent( Settings.Default.IP, Settings.Default.Port); bool successfulPublish = client.PublishEventServer(smtpServerBindEvent); _logger.Information( successfulPublish ? "Successfully pushed new Smtp Server Binding to Backend Service" : "Papercut Backend Service Failed to Update. Could be offline."); } } catch (Exception ex) { _logger.Warning(ex, BackendServiceFailureMessage); } }
void PublishUpdateEvent(RulesUpdatedEvent @event) { try { using (PapercutClient client = GetClient()) { bool successfulPublish = client.PublishEventServer(@event); _logger.Information( successfulPublish ? "Successfully Updated Rules on Backend Service" : "Papercut Backend Service Failed to Update Rules. Could be offline."); } } catch (Exception ex) { _logger.Warning(ex, BackendServiceFailureMessage); } }
public void Publish <T>(T @event) where T : IDomainEvent { try { _logger.Information( "Publishing {@" + @event.GetType().Name + "} to the Papercut Client", @event); using (PapercutClient client = GetClient()) { client.PublishEventServer(@event); } } catch (Exception ex) { _logger.Warning( ex, "Failed to publish {Address} {Port} specified. Papercut Client is most likely not running.", PapercutClient.Localhost, PapercutClient.ClientPort); } }
public SingleInstanceService(PapercutClient papercutClient, ILogger logger) { Logger = logger; _papercutClient = papercutClient; }