コード例 #1
0
        private void WaitForInitialization(Server server, AvailabilityGroup availabilityGroup)
        {
            var policy = Policy
                         .Handle <TimeoutException>()
                         .WaitAndRetry(4, retryAttempt => TimeSpan.FromMilliseconds(Math.Pow(10, retryAttempt)));

            policy.Execute(() => {
                if (availabilityGroup.IsInitializing(Name))
                {
                    throw new TimeoutException($"{server.Name} is initializing. Wait period expired.");
                }
            });
        }
コード例 #2
0
        private void WaitForInitialization(Server server, AvailabilityGroup availabilityGroup)
        {
            var wait       = 100;
            var maxWait    = 60000;
            var multiplier = 2;

            while (availabilityGroup.IsInitializing(Name))
            {
                if (wait > maxWait)
                {
                    throw new TimeoutException($"{server.Name} is initializing. Wait period expired.");
                }
                Thread.Sleep(wait);
                wait *= multiplier;
            }
        }