Пример #1
0
 public async Task <TResult> ExecuteWithRetry <TResult>(IBrowserFactory browserFactory, Func <IBrowser, Task <TResult> > actions)
 {
     using (var browser = browserFactory.GetInstance())
     {
         return(await actions(browser).ConfigureAwait(false));
     }
 }
 public Task <TResult> ExecuteWithRetry <TResult>(IBrowserFactory browserFactory, Func <IBrowser, Task <TResult> > actions)
 {
     return(Policy
            .Handle <Exception>()
            .RetryAsync(3)
            .ExecuteAsync(async() =>
     {
         try
         {
             using (var browser = browserFactory.GetInstance())
             {
                 return await actions(browser).ConfigureAwait(false);
             }
         }
         catch (Exception ex)
         {
             logger.Error(ex, "Browser actions failed.");
             throw;
         }
     }));
 }
 public IBrowser GetInstance()
 {
     logger.Debug("Create instance.");
     return(new DelayedBrowser(wrappedFactory.GetInstance()));
 }