Esempio n. 1
0
 protected override void PostSaveAction()
 {
     using (MailboxReplicationServiceClient mailboxReplicationServiceClient = this.DataObject.CreateMRSClient(base.ConfigSession, this.mdbGuid, base.UnreachableMrsServers))
     {
         mailboxReplicationServiceClient.RefreshMoveRequest(base.LocalADUser.ExchangeGuid, this.mdbGuid, MoveRequestNotification.Updated);
     }
 }
Esempio n. 2
0
        public static MRSHealthCheckOutcome VerifyServiceIsRespondingToRPCPing(string serverName, TestMRSHealth testMRSCmdlet = null)
        {
            MRSHealthCheckOutcome outcome = null;

            CommonUtils.CatchKnownExceptions(delegate
            {
                MailboxReplicationServiceClient mailboxReplicationServiceClient2;
                MailboxReplicationServiceClient mailboxReplicationServiceClient = mailboxReplicationServiceClient2 = MailboxReplicationServiceClient.Create(serverName);
                try
                {
                    outcome = new MRSHealthCheckOutcome(serverName, MRSHealthCheckId.RPCPingCheck, true, Strings.MailboxReplicationServiceIsRespondingToRPCPing(mailboxReplicationServiceClient.ServerVersion.ToString()));
                }
                finally
                {
                    if (mailboxReplicationServiceClient2 != null)
                    {
                        ((IDisposable)mailboxReplicationServiceClient2).Dispose();
                    }
                }
            }, delegate(Exception ex)
            {
                if (testMRSCmdlet != null)
                {
                    testMRSCmdlet.MonitoringData.Events.Add(new MonitoringEvent("MSExchange Monitoring MRSHealth", 1002, EventTypeEnumeration.Error, Strings.MailboxReplicationServiceNotResponding(CommonUtils.FullExceptionMessage(ex, true))));
                }
                outcome = new MRSHealthCheckOutcome(serverName, MRSHealthCheckId.RPCPingCheck, false, Strings.MailboxReplicationServiceNotResponding(CommonUtils.FullExceptionMessage(ex, true)));
            });
            return(outcome);
        }
Esempio n. 3
0
 protected override void ValidateRequest(TransactionalRequestJob requestJob)
 {
     base.ValidateRequest(requestJob);
     base.ValidateRequestIsActive(requestJob);
     base.ValidateRequestProtectionStatus(requestJob);
     base.ValidateRequestIsRunnable(requestJob);
     base.ValidateRequestIsNotCancelled(requestJob);
     if (!requestJob.Suspend)
     {
         base.WriteVerbose(Strings.RequestNotSuspended(requestJob.Name));
     }
     if (RequestJobStateNode.RequestStateIs(requestJob.StatusDetail, RequestState.Completion) && !RequestJobStateNode.RequestStateIs(requestJob.StatusDetail, RequestState.IncrementalSync))
     {
         base.WriteError(new SuspendWhenReadyToCompleteCannotBeUsedDuringCompletionException(requestJob.Name), ErrorCategory.InvalidArgument, requestJob.Identity);
     }
     using (MailboxReplicationServiceClient mailboxReplicationServiceClient = requestJob.CreateMRSClient(base.ConfigSession, requestJob.WorkItemQueueMdb.ObjectGuid, base.UnreachableMrsServers))
     {
         LocalizedString message = requestJob.Message;
         requestJob.Message = LocalizedString.Empty;
         try
         {
             List <ReportEntry> entries = null;
             using (mailboxReplicationServiceClient.ValidateAndPopulateRequestJob(requestJob, out entries))
             {
                 RequestTaskHelper.WriteReportEntries(requestJob.Name, entries, requestJob.Identity, new Task.TaskVerboseLoggingDelegate(base.WriteVerbose), new Task.TaskWarningLoggingDelegate(this.WriteWarning), new Task.TaskErrorLoggingDelegate(base.WriteError));
             }
         }
         finally
         {
             requestJob.Message = message;
         }
     }
 }
Esempio n. 4
0
 protected override void PostSaveAction()
 {
     using (MailboxReplicationServiceClient mailboxReplicationServiceClient = this.DataObject.CreateMRSClient(base.ConfigSession, this.mdbGuid, base.UnreachableMrsServers))
     {
         mailboxReplicationServiceClient.RefreshMoveRequest(base.LocalADUser.ExchangeGuid, this.mdbGuid, MoveRequestNotification.SuspendResume);
     }
     base.WriteVerbose(Strings.ResumeSuccessInformationalMessage(base.LocalADUser.ToString()));
 }
 public static void TickleMRS(TransactionalRequestJob requestJob, MoveRequestNotification notification, Guid mdbGuid, ITopologyConfigurationSession configSession, List <string> unreachableServers)
 {
     using (MailboxReplicationServiceClient mailboxReplicationServiceClient = requestJob.CreateMRSClient(configSession, mdbGuid, unreachableServers))
     {
         if (notification == MoveRequestNotification.Canceled && mailboxReplicationServiceClient.ServerVersion[3])
         {
             mailboxReplicationServiceClient.RefreshMoveRequest2(requestJob.RequestGuid, mdbGuid, (int)requestJob.Flags, notification);
         }
         else
         {
             mailboxReplicationServiceClient.RefreshMoveRequest(requestJob.RequestGuid, mdbGuid, notification);
         }
     }
 }
 protected override void PostSaveAction()
 {
     if (!base.ParameterSetName.Equals("MigrationMoveRequestQueue") && this.mrCondition == RemoveMoveRequest.MoveRequestCondition.None && this.DataObject != null)
     {
         TransactionalRequestJob dataObject = this.DataObject;
         using (MailboxReplicationServiceClient mailboxReplicationServiceClient = dataObject.CreateMRSClient(base.ConfigSession, this.mdbGuid, base.UnreachableMrsServers))
         {
             if (mailboxReplicationServiceClient.ServerVersion[3])
             {
                 mailboxReplicationServiceClient.RefreshMoveRequest2(this.DataObject.ExchangeGuid, this.mdbGuid, (int)dataObject.Flags, MoveRequestNotification.Canceled);
             }
             else
             {
                 mailboxReplicationServiceClient.RefreshMoveRequest(this.DataObject.ExchangeGuid, this.mdbGuid, MoveRequestNotification.Canceled);
             }
         }
     }
 }
Esempio n. 7
0
 public static MRSHealthCheckOutcome VerifyMRSProxyIsRespondingToWCFPing(string mrsServer, string mrsProxyServer, NetworkCredential credentials, TestMRSHealth testMRSCmdlet = null)
 {
     MRSHealth.< > c__DisplayClass7 CS$ < > 8__locals1 = new MRSHealth.< > c__DisplayClass7();
     CS$ < > 8__locals1.mrsServer      = mrsServer;
     CS$ < > 8__locals1.mrsProxyServer = mrsProxyServer;
     CS$ < > 8__locals1.credentials    = credentials;
     CS$ < > 8__locals1.testMRSCmdlet  = testMRSCmdlet;
     if (CS$ < > 8__locals1.mrsProxyServer == null)
     {
         CS$ < > 8__locals1.mrsProxyServer = CS$ < > 8__locals1.mrsServer;
     }
     CS$ < > 8__locals1.outcome = null;
     using (MailboxReplicationServiceClient mrsClient = MailboxReplicationServiceClient.Create(CS$ < > 8__locals1.mrsServer, MRSCapabilities.MrsProxyPing))
     {
         CommonUtils.CatchKnownExceptions(delegate
         {
             if (CS$ < > 8__locals1.credentials != null)
             {
                 mrsClient.PingMRSProxy(CS$ < > 8__locals1.mrsProxyServer, CS$ < > 8__locals1.credentials.UserName, CS$ < > 8__locals1.credentials.Password, CS$ < > 8__locals1.credentials.Domain, true);
             }
        public static void GetUpdatedMRSRequestInfo(RequestStatisticsBase requestJob, bool diagnostic, string diagnosticArgument)
        {
            MoveRequestInfo requestInfo = null;

            CommonUtils.CatchKnownExceptions(delegate
            {
                string mrsServer = MailboxReplicationServiceClient.GetMrsServer(requestJob.WorkItemQueueMdb.ObjectGuid);
                using (MailboxReplicationServiceClient mailboxReplicationServiceClient = MailboxReplicationServiceClient.Create(mrsServer))
                {
                    requestInfo = mailboxReplicationServiceClient.GetMoveRequestInfo(requestJob.IdentifyingGuid);
                    requestJob.UpdateThroughputFromMoveRequestInfo(requestInfo);
                    if (RequestTaskHelper.NeedToUpdateJobPickupMessage())
                    {
                        requestJob.UpdateMessageFromMoveRequestInfo(requestInfo);
                    }
                    if (diagnostic)
                    {
                        string jobPickupFailureMessage = (requestInfo == null) ? string.Empty : requestInfo.Message.ToString();
                        requestJob.PopulateDiagnosticInfo(new RequestStatisticsDiagnosticArgument(diagnosticArgument), jobPickupFailureMessage);
                    }
                }
            }, null);
        }
Esempio n. 9
0
 protected virtual void InitializeMRSClient()
 {
     this.MRSClient = MailboxReplicationServiceClient.Create(this.ConfigSession, MRSJobType.RequestJobE15_TenantHint, this.MdbId.ObjectGuid, this.UnreachableMrsServers);
 }