public void RegisterPrimaryLoadBalancer() { var loadBalancerConfig = (LoadBalancerConfiguration)config; applicationContext.RegisterSingleton(() => { MsmqLoadBalancer balancer = new MsmqLoadBalancer(applicationContext.Get <IMessageSerializer>(), applicationContext.Get <IQueueStrategy>(), applicationContext.Get <IEndpointRouter>(), loadBalancerConfig.Endpoint, loadBalancerConfig.ThreadCount, loadBalancerConfig.Transactional, applicationContext.Get <IMessageBuilder <Message> >()); balancer.ReadyForWorkListener = applicationContext.Get <MsmqReadyForWorkListener>(); return(balancer); }); applicationContext.RegisterSingleton <IDeploymentAction>(() => new CreateLoadBalancerQueuesAction(applicationContext.Get <IQueueStrategy>(), applicationContext.Get <MsmqLoadBalancer>())); }
public CreateLoadBalancerQueuesAction(IQueueStrategy queueStrategy, MsmqLoadBalancer loadBalancer) : base(queueStrategy) { this.loadBalancer = loadBalancer; }
public CreateLoadBalancerQueuesAction(IQueueStrategy queueStrategy, MsmqLoadBalancer loadBalancer) { this.queueStrategy = queueStrategy; this.loadBalancer = loadBalancer; }