public async override Task <object> Execute(BalancerData balancerData, HttpContext context, RawHandler handler) { var vhost = context.Items["bal-vhost"] as BalancerOption; var key = balancerData.Scores.OrderByDescending(x => x.Value).FirstOrDefault().Key; var node = vhost.Nodes[key]; await handler.HandleRequest(context, node); return(node); }
public async override Task <object> Execute(BalancerData balancerData, HttpContext context, RawHandler handler) { var vhost = context.Items["bal-vhost"] as BalancerOption; balancerData.LastServed = (balancerData.LastServed + 1) % vhost.Nodes.Length; var node = vhost.Nodes[balancerData.LastServed]; await handler.HandleRequest(context, node); return(node); }