Пример #1
0
        async Task IFilter <ConnectionContext> .Send(ConnectionContext context, IPipe <ConnectionContext> next)
        {
            var model = await context.CreateModel().ConfigureAwait(false);

            var modelContext = new RabbitMqModelContext(context, model, _host, context.CancellationToken);

            try
            {
                await _pipe.Send(modelContext).ConfigureAwait(false);

                if (_log.IsDebugEnabled)
                {
                    _log.DebugFormat("Consumer model pipe completed.");
                }
            }
            finally
            {
                await modelContext.DisposeAsync(CancellationToken.None).ConfigureAwait(false);
            }

            await next.Send(context).ConfigureAwait(false);
        }