public void Dispose()
 {
     _context?.Dispose();
     _context = null;
     if (_session == null)
     {
         throw new ObjectDisposedException("The session process helper has been disposed already");
     }
     _session._processing = false;
     _session             = null;
 }
 public ProcessHelper(AbstractSessionImpl session)
 {
     _session = session;
     _context = new SessionIdLoggingContext(session.SessionId);
     try
     {
         _session.CheckAndUpdateSessionStatus();
         _session._processing = true;
     }
     catch
     {
         _context.Dispose();
         _context = null;
         throw;
     }
 }