Example #1
0
    /// <summary>
    /// Reorders the handler invokers if necessary
    /// </summary>
    public async Task Process(IncomingStepContext context, Func <Task> next)
    {
        var handlerInvokers        = context.Load <HandlerInvokers>();
        var orderedHandlerInvokers = handlerInvokers.OrderBy(i => _configuration.GetIndex(i.Handler));
        var newHandlerInvokers     = new HandlerInvokers(handlerInvokers.Message, orderedHandlerInvokers);

        context.Save(newHandlerInvokers);

        await next();
    }