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); } }