Пример #1
0
        private async Task <Operation> WaitForLongRunningOperation(Guid operationId, int interavalInSec = 5, int maxTimeInSeconds = 60, CancellationToken cancellationToken = default(CancellationToken))
        {
            OperationsHttpClient operationsClient = this.Context.Connection.GetClient <OperationsHttpClient>();
            DateTime             expiration       = DateTime.Now.AddSeconds(maxTimeInSeconds);
            int checkCount = 0;

            while (true)
            {
                Console.WriteLine(" Checking status ({0})... ", (checkCount++));

                Operation operation = await operationsClient.GetOperation(operationId, cancellationToken);

                if (!operation.Completed)
                {
                    Console.WriteLine("   Pausing {0} seconds", interavalInSec);

                    await Task.Delay(interavalInSec * 1000);

                    if (DateTime.Now > expiration)
                    {
                        throw new Exception(String.Format("Operation did not complete in {0} seconds.", maxTimeInSeconds));
                    }
                }
                else
                {
                    return(operation);
                }
            }
        }
        private async Task <Operation> WaitForLongRunningOperation(Guid operationId, int interavalInSec = 5, int maxTimeInSeconds = 60, CancellationToken cancellationToken = default(CancellationToken))
        {
            OperationsHttpClient operationsClient = RestConnection.GetClient <OperationsHttpClient>();
            DateTime             expiration       = DateTime.Now.AddSeconds(maxTimeInSeconds);
            int checkCount = 0;

            while (true)
            {
                Logger.Log(LogLevel.Info, $" Checking status ({checkCount++})... ");

                Operation operation = await operationsClient.GetOperation(operationId, cancellationToken);

                if (!operation.Completed)
                {
                    Logger.Log(LogLevel.Info, $"   Pausing {interavalInSec} seconds...");

                    await Task.Delay(interavalInSec * 1000);

                    if (DateTime.Now > expiration)
                    {
                        Logger.Log(LogLevel.Error, $"Operation did not complete in {maxTimeInSeconds} seconds.");
                    }
                }
                else
                {
                    return(operation);
                }
            }
        }
Пример #3
0
        public OperationReference GetOperation(System.Guid Id)
        {
            VssConnection        connection           = new VssConnection(_uri, _credentials);
            OperationsHttpClient operationsHttpClient = connection.GetClient <OperationsHttpClient>();
            var operationReferencee = operationsHttpClient.GetOperation(Id).Result;

            return(operationReferencee);
        }
Пример #4
0
 public OperationReference GetOperation(System.Guid Id)
 {
     using (OperationsHttpClient operationsHttpClient = new OperationsHttpClient(_uri, _credentials))
     {
         var operationReferencee = operationsHttpClient.GetOperation(Id).Result;
         return(operationReferencee);
     }
 }