public static void StartNewManager(out string friendlyname) { NumberOfManagersToStart++; var portNumber = Settings.Default.ManagerEndpointPortNumberStart + (NumberOfManagersToStart - 1); var allowedDowntimeSeconds = Settings.Default.AllowedDowntimeSeconds; Uri uri; var copiedManagerConfigurationFile = CopyManagerConfigurationFile(ManagerConfigurationFile, NumberOfManagersToStart, portNumber, allowedDowntimeSeconds, out uri); CopiedManagerConfigurationFiles.Add(uri, copiedManagerConfigurationFile); var appDomainManagerTask = new AppDomainManagerTask(_buildMode, DirectoryManagerAssemblyLocationFullPath, copiedManagerConfigurationFile, Settings.Default.ManagerAssemblyName); AppDomainManagerTasks.AddOrUpdate(appDomainManagerTask.GetAppDomainUniqueId(), appDomainManagerTask, (s, task) => appDomainManagerTask); RoundRobin.AddHost(uri); Logger.DebugWithLineNumber("Start: AppDomainManagerTask.StartTask"); appDomainManagerTask.StartTask(new CancellationTokenSource()); Logger.DebugWithLineNumber("Finished: AppDomainManagerTask.StartTask"); friendlyname = appDomainManagerTask.GetAppDomainUniqueId(); }