/// <summary> /// Initializes a new instance of the <see cref="StumpsService"/> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <exception cref="ArgumentNullException"><paramref name="configuration"/> is <c>null</c>.</exception> public StumpsService(StumpsConfiguration configuration) { configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); InitializeComponent(); _server = new StumpsRunner(configuration); }
public void Constructor_WithValidConfiguration_SetsConfigurationProperty() { var dal = Substitute.For <IConfigurationDataAccess>(); var config = new StumpsConfiguration(dal); using (var server = new StumpsRunner(config)) { Assert.AreSame(config, server.Configuration); } }
public static void Main(string[] args) { var isRunningAsConsole = IsApplicationRunningAsConsole(args); var writer = isRunningAsConsole ? (IMessageWriter) new ConsoleWriter() : (IMessageWriter) new EventLogWriter(); if (IsApplicationAlreadyRunning()) { writer.WriteError(StartupResources.ApplicationRunning); return; } var configurationFile = Path.Combine( DefaultConfigurationSettings.StoragePath, DefaultConfigurationSettings.ConfigurationFileName); if (args != null && args.Length > 0) { configurationFile = DetermineConfigurationFileFromArgs(args); } if (configurationFile == null) { writer.WriteError(StartupResources.InvalidArguments + string.Join(@" ", args)); if (isRunningAsConsole) { writer.Information(StartupResources.HelpInformation); } return; } var configurationDal = new ConfigurationDataAccess(configurationFile); var configuration = new StumpsConfiguration(configurationDal); configurationDal.EnsureConfigurationIsInitialized(configuration.SaveConfiguration); configuration.LoadConfiguration(); var startup = isRunningAsConsole ? (IStartup) new ConsoleStartup() : (IStartup) new ServiceStartup(); startup.Configuration = configuration; startup.MessageWriter = writer; startup.RunInstance(); }
public static void Main() { var configurationFile = Path.Combine( DefaultConfigurationSettings.StoragePath, DefaultConfigurationSettings.ConfigurationFileName); var configurationDal = new ConfigurationDataAccess(configurationFile); var configuration = new StumpsConfiguration(configurationDal); configurationDal.EnsureConfigurationIsInitialized(configuration.SaveConfiguration); configuration.LoadConfiguration(); var urlString = string.Format(CultureInfo.InvariantCulture, "http://localhost:{0}/", configuration.WebApiPort); Process.Start(urlString); }
/// <summary> /// Initializes a new instance of the <see cref="StumpsServer"/> class. /// </summary> /// <param name="configuration">The <see cref="StumpsConfiguration"/> used to initialize the instance.</param> /// <exception cref="ArgumentNullException"><paramref name="configuration"/> is <c>null</c>.</exception> public StumpsRunner(StumpsConfiguration configuration) { this.Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _syncRoot = new object(); }