protected void OnProcess(IContext context)
{
var processQueue = new Queue<Action<IContext, Action>>(Process);
Action next = null;
next = () =>
{
if (processQueue.Count > 0)
{
var nextProcessor = processQueue.Dequeue();
if (nextProcessor != null)
{
nextProcessor(context, next);
}
} else
{
context.Response.Send();
}
};
next();
}