private void EnqueueReceiveMessage(Message msg, ActivationData targetActivation, ISchedulingContext context)
        {
            MessagingProcessingStatisticsGroup.OnImaMessageEnqueued(context);

            if (targetActivation != null)
            {
                targetActivation.IncrementEnqueuedOnDispatcherCount();
            }

            scheduler.QueueWorkItem(new ClosureWorkItem(() =>
            {
                try
                {
                    dispatcher.ReceiveMessage(msg);
                }
                finally
                {
                    if (targetActivation != null)
                    {
                        targetActivation.DecrementEnqueuedOnDispatcherCount();
                    }
                }
            },
                                                        () => "Dispatcher.ReceiveMessage"), context);
        }
 private void EnqueueReceiveMessage(Message msg, ActivationData targetActivation, ISchedulingContext context)
 {
     this.messagingTrace.OnEnqueueMessageOnActivation(msg, context);
     targetActivation?.IncrementEnqueuedOnDispatcherCount();
     scheduler.QueueWorkItem(new ClosureWorkItem(() =>
     {
         try
         {
             dispatcher.ReceiveMessage(msg);
         }
         finally
         {
             targetActivation?.DecrementEnqueuedOnDispatcherCount();
         }
     },
                                                 "Dispatcher.ReceiveMessage"), context);
 }
        private void EnqueueReceiveMessage(Message msg, ActivationData targetActivation, ISchedulingContext context)
        {
            MessagingProcessingStatisticsGroup.OnImaMessageEnqueued(context);

            if (targetActivation != null) targetActivation.IncrementEnqueuedOnDispatcherCount();

            scheduler.QueueWorkItem(new ClosureWorkItem(() =>
            {
                try
                {
                    dispatcher.ReceiveMessage(msg);
                }
                finally
                {
                    if (targetActivation != null) targetActivation.DecrementEnqueuedOnDispatcherCount();
                }
            },
            () => "Dispatcher.ReceiveMessage"), context);
        }