示例#1
0
 /// <summary>
 /// Запустить процесс получения каптчи. Асинхронно возвращает введенную каптчу.
 /// </summary>
 /// <param name="request">Объект запроса каптчи.</param>
 private static async Task <VKCaptchaResponse> InvokeCaptchaRequest(VKCaptchaRequest request)
 {
     if (CaptchaHandler == null)
     {
         return new VKCaptchaResponse(request)
                {
                    UserResponse = String.Empty, IsCanceled = true
                }
     }
     ;
     else
     {
         return(await Task.Run <VKCaptchaResponse>(() =>
         {
             VKCaptchaResponse result = null;
             var resetEvent = new AutoResetEvent(false);
             CaptchaHandler(request, response =>
             {
                 result = response;
                 resetEvent.Set();
             });
             resetEvent.WaitOne();
             return result;
         }));
     }
 }
示例#2
0
 /// <summary>
 /// Выполняет пользователю запрос на ввод каптчи.
 /// </summary>
 /// <param name="request">Запрос на ввод каптчи.</param>
 private async Task <VKCaptchaResponse> InvokeCaptchaAsync(VKCaptchaRequest request)
 {
     if (CaptchaRequest == null)
     {
         return(new VKCaptchaResponse(request.CaptchaSid));
     }
     return(await CaptchaRequest(request));
 }
示例#3
0
 /// <summary>
 /// Инициализирует новый экземпляр класса с заданным объектом запрошенной каптчи.
 /// </summary>
 /// <param name="request">Объект с информацией о запрошенной каптче.</param>
 public VKCaptchaResponse(VKCaptchaRequest request)
 {
     Request = request;
 }