Esempio n. 1
0
 private void NotifySender(object state)
 {
     try
     {
         while (true)
         {
             NotifyRequest request = null;
             lock (requests)
             {
                 if (requests.Any())
                 {
                     request = requests.Dequeue();
                 }
             }
             if (request != null)
             {
                 using var scope = ServiceProvider.CreateScope();
                 AfterTransferRequest?.Invoke(this, request, scope);
                 try
                 {
                     SendNotify(request, scope);
                 }
                 catch (Exception e)
                 {
                     log.Error(e);
                 }
             }
             else
             {
                 requestsEvent.WaitOne();
             }
         }
     }
     catch (ThreadAbortException)
     {
         return;
     }
     catch (Exception e)
     {
         log.Error(e);
     }
 }
 private void NotifySender(object state)
 {
     try
     {
         while (true)
         {
             NotifyRequest request = null;
             lock (requests)
             {
                 if (requests.Any())
                 {
                     request = requests.Dequeue();
                 }
             }
             if (request != null)
             {
                 AfterTransferRequest?.Invoke(this, request);
                 try
                 {
                     SendNotify(CoreContext.TenantManager.GetCurrentTenant(), request);
                 }
                 catch (Exception e)
                 {
                     log.Error(e);
                 }
             }
             else
             {
                 requestsEvent.WaitOne();
             }
         }
     }
     catch (ThreadAbortException)
     {
         return;
     }
     catch (Exception e)
     {
         log.Error(e);
     }
 }