private void ConnectionFailedHandler(Exception exception) { if (exception != null && TransientExceptionHandler.IsConnectionFailure(exception)) { if (exception is IMRSRemoteException || exception is CommunicationWithRemoteServiceFailedTransientException) { this.syncContext.ResetSourceMailboxConnection(); this.syncExecutor = null; return; } this.syncContext.ResetDestinationMailboxConnection(); } }
public static bool IsTransientException(object e) { return(TransientExceptionHandler.IsTransientException(e as Exception)); }
public PublicFolderHierarchyProxyPool(PublicFolderSynchronizerContext syncContext, IHierarchySyncExecutor syncExecutor, IFxProxyPool destinationProxyPool, TransientExceptionHandler transientExceptionHandler) : base(destinationProxyPool, false) { ArgumentValidator.ThrowIfNull("syncContext", syncContext); ArgumentValidator.ThrowIfNull("syncExecutor", syncExecutor); ArgumentValidator.ThrowIfNull("destinationProxyPool", destinationProxyPool); ArgumentValidator.ThrowIfNull("transientExceptionHandler", transientExceptionHandler); this.syncContext = syncContext; this.syncExecutor = syncExecutor; this.destinationMailbox = syncContext.DestinationMailbox; this.transientExceptionHandler = transientExceptionHandler; }