예제 #1
0
        public void DoDumpsterRedeliveryIfRequired(Guid dbGuid)
        {
            IADToplogyConfigurationSession iadtoplogyConfigurationSession = ADSessionFactory.CreatePartiallyConsistentRootOrgSession(true);
            IADDatabase db     = iadtoplogyConfigurationSession.FindDatabaseByGuid(dbGuid);
            IADServer   server = iadtoplogyConfigurationSession.FindServerByName(Environment.MachineName);
            IADDatabaseAvailabilityGroup dag          = iadtoplogyConfigurationSession.FindDagByServer(server);
            ReplayConfiguration          replayConfig = RemoteReplayConfiguration.TaskGetReplayConfig(dag, db, server);

            DumpsterRedeliveryWrapper.DoRedeliveryIfRequired(replayConfig);
        }
 // Token: 0x06000942 RID: 2370 RVA: 0x0002B914 File Offset: 0x00029B14
 private void ScheduleDumpsterRedelivery(object obj)
 {
     try
     {
         ReplayConfiguration replayConfiguration = obj as ReplayConfiguration;
         ExTraceGlobals.DumpsterTracer.TraceDebug <string, string>(0L, "DumpsterRedeliveryManager: ScheduleDumpsterRedelivery for {0}({1}).", replayConfiguration.Name, replayConfiguration.Identity);
         DumpsterRedeliveryWrapper.DoRedeliveryIfRequired(replayConfiguration);
     }
     finally
     {
         lock (this)
         {
             this.m_numOutstandingRequests--;
             if (this.m_numOutstandingRequests == 0)
             {
                 this.m_doneEvent.Set();
             }
         }
     }
 }