public OperationContext(CountdownEvent countdownEvent, ConcurrentOperationManager manager) { _countdownEvent = countdownEvent; _countdownEvent.AddCount(); manager.OnOperationContextCreated(EventArgs.Empty); if(manager._isDisposed) { Dispose(); throw new ObjectDisposedException(manager._owningType); } }
public RabbitMQReader(RabbitMQReaderSetup setup, bool cloneSetup) { MethodInvocationTrace.Write(); _setup = cloneSetup ? setup.Clone() : setup; _invocationTracker = new ConcurrentOperationManager(GetType().FullName); _conn = RabbitMQReaderConnection.Create(_setup, false); _deleteQueue = !_setup.IsDurable; _throttler = (_setup.Options == null) ? NoOpDequeueThrottler.Instance : _setup.Options.DequeueThrottlerFactory.Create(_setup.Exchange, _setup.QueueName); }