/// <summary> /// Initialises a new instance of the <see cref="Worker"/> class with /// the provided values. /// </summary> /// <param name="url">The URL.</param> /// <param name="agentKey">The agent key.</param> /// <param name="iisChecks">A value indicating whether or not to perform IIS checks.</param> /// <param name="pluginDirectory">The plugin directory.</param> /// <param name="mongoDBConnectionString">The MongoDB connection string.</param> /// <param name="sqlServerStatus">A value indicating whether or not to perform SQL Server checks.</param> public Worker(string url, string agentKey, bool iisChecks, string pluginDirectory, string mongoDBConnectionString, bool mongoDBDBStats, bool mongoDBReplSet, bool sqlServerStatus, string customPrefix, bool eventViewer) { Url = url; AgentKey = agentKey; IISChecks = iisChecks; PluginDirectory = pluginDirectory; MongoDBConnectionString = mongoDBConnectionString; MongoDBDBStats = mongoDBDBStats; MongoDBReplSet = mongoDBReplSet; SQLServerStatus = sqlServerStatus; CustomPrefix = customPrefix; EventViewer = eventViewer; _runner = new TaskRunner(); _runner.AddTask(new WriteAgentConfigurationTask( new AgentConfiguration(Url, AgentKey, IISChecks, PluginDirectory, MongoDBConnectionString, MongoDBDBStats, MongoDBReplSet, SQLServerStatus, CustomPrefix, EventViewer) )); _runner.AddTask(new StopServiceTask()); _runner.AddTask(new StartServiceTask()); _runner.TaskCompleted += Runner_TaskCompleted; }