/// <summary> /// Creates a new instance of the service class. /// </summary> /// <param name="clusterOperator"></param> /// <param name="mailer"></param> /// <param name="stateManager"></param> /// <param name="serviceContext"></param> /// <param name="config"></param> public ClusterService( IClusterOperator clusterOperator, ISendMail mailer, IApplicationDeployService applicationDeployService, IReliableStateManager stateManager, StatefulServiceContext serviceContext, ClusterConfig config) : base(serviceContext, stateManager as IReliableStateManagerReplica) { this.config = config; this.clusterOperator = clusterOperator; this.applicationDeployService = applicationDeployService; this.mailer = mailer; }
/// <summary> /// Creates a new instance of the service class. /// </summary> /// <param name="clusterOperator"></param> /// <param name="mailer"></param> /// <param name="stateManager"></param> /// <param name="serviceParameters"></param> /// <param name="config"></param> public ClusterService( IClusterOperator clusterOperator, ISendMail mailer, IApplicationDeployService applicationDeployService, IReliableStateManager stateManager, StatefulServiceParameters serviceParameters, ClusterConfig config) { this.config = config; this.clusterOperator = clusterOperator; this.applicationDeployService = applicationDeployService; this.mailer = mailer; this.StateManager = stateManager; this.serviceParameters = serviceParameters; this.ConfigureService(); }
/// <summary> /// Poor-man's dependency injection for now until the API supports proper injection of IReliableStateManager. /// This constructor is used in unit tests to inject a different state manager. /// </summary> /// <param name="stateManager"></param> /// <param name="clusterOperator"></param> public ClusterService(IClusterOperator clusterOperator, IReliableStateManager stateManager) : this() { this.clusterOperator = clusterOperator; this.reliableStateManager = stateManager; }