public static IRunner CreateForWorkerRole(Role role, RoleIsolationMode isolation) { var config = role.Config; var assemblyFilePath = config.Assembly; var assemblyPath = Path.GetDirectoryName(assemblyFilePath); if (HasBeenReBuilt(assemblyPath) && isolation == RoleIsolationMode.Thread) { isolation = RoleIsolationMode.AppDomain; role.IsolationMode = isolation; } switch (isolation) { case RoleIsolationMode.Thread: return(new ThreadRunner(role, assemblyFilePath, ConfigurationLocator.LocateConfigurationFile(config.ConfigurationPath), role.RoleName)); case RoleIsolationMode.AppDomain: var setup = new AppDomainSetup { ApplicationBase = assemblyPath, ConfigurationFile = config.Assembly + ".config", }; return(new AppDomainRunner(role, setup, assemblyFilePath, ConfigurationLocator.LocateConfigurationFile(config.ConfigurationPath), role.RoleName)); default: throw new NotSupportedException(); } }
public static SolidColorBrush GetStatusColour(RoleStatus status, RoleIsolationMode isolationMode) { switch (status) { case RoleStatus.Starting: return(isolationMode == RoleIsolationMode.Thread ? Green : Blue); case RoleStatus.Running: return(isolationMode == RoleIsolationMode.Thread ? Green : Blue); case RoleStatus.Stopping: return(BloodRed); case RoleStatus.Crashing: return(BloodRed); case RoleStatus.Recycling: return(BloodRed); case RoleStatus.Stopped: return(Grey); case RoleStatus.Sequenced: return(Grey); default: return(Grey); } }
public static SolidColorBrush GetStatusColour(RoleStatus status, RoleIsolationMode isolationMode) { switch (status) { case RoleStatus.Starting: return isolationMode == RoleIsolationMode.Thread ? Green : Blue; case RoleStatus.Running: return isolationMode == RoleIsolationMode.Thread ? Green : Blue; case RoleStatus.Stopping: return BloodRed; case RoleStatus.Crashing: return BloodRed; case RoleStatus.Recycling: return BloodRed; case RoleStatus.Stopped: return Grey; case RoleStatus.Sequenced: return Grey; default: return Grey; } }
public static IRunner CreateForWorkerRole(Role role, RoleIsolationMode isolation) { var config = role.Config; var configurationPath = config.ConfigurationPath; var configurationFilePath = ConfigurationLocator.LocateConfigurationFile(configurationPath); var serviceDefinitionPath = ConfigurationLocator.LocateServiceDefinition(configurationPath); var assemblyFilePath = config.Assembly; var assemblyPath = Path.GetDirectoryName(assemblyFilePath); if (HasBeenReBuilt(assemblyPath) && isolation == RoleIsolationMode.Thread) { isolation = RoleIsolationMode.AppDomain; role.IsolationMode = isolation; } switch (isolation) { case RoleIsolationMode.Thread: return new ThreadRunner(role, assemblyFilePath, configurationFilePath, serviceDefinitionPath, role.RoleName); case RoleIsolationMode.AppDomain: var setup = new AppDomainSetup { ApplicationBase = assemblyPath, ConfigurationFile = config.Assembly + ".config", }; return new AppDomainRunner(role, setup, assemblyFilePath, configurationFilePath, serviceDefinitionPath, role.RoleName); default: throw new NotSupportedException(); } }
public static IRunner CreateForWebRole(Role role, RoleIsolationMode isolation) { var args = WebConfigHelper.Create(role.Config); var assemblyPath = Path.GetDirectoryName(args.Assembly); if (HasBeenReBuilt(assemblyPath) && isolation == RoleIsolationMode.Thread) { isolation = RoleIsolationMode.AppDomain; role.IsolationMode = isolation; } switch (isolation) { case RoleIsolationMode.Thread: return new ThreadRunner(role, args.Assembly, args.ConfigurationPath, args.ServiceDefinitionPath, args.RoleName); case RoleIsolationMode.AppDomain: var setup = new AppDomainSetup { ApplicationBase = args.SiteBinDirectory, ConfigurationFile = WebConfigHelper.DetermineWebConfigPath(args.Assembly) }; return new AppDomainRunner(role, setup, args.Assembly, args.ConfigurationPath, args.ServiceDefinitionPath, args.RoleName); default: throw new NotSupportedException(); } }
public static IRunner CreateForWebRole(Role role, RoleIsolationMode isolation) { var args = WebConfigHelper.Create(role.Config); var assemblyPath = Path.GetDirectoryName(args.Assembly); if (HasBeenReBuilt(assemblyPath) && isolation == RoleIsolationMode.Thread) { isolation = RoleIsolationMode.AppDomain; role.IsolationMode = isolation; } switch (isolation) { case RoleIsolationMode.Thread: return(new ThreadRunner(role, args.Assembly, args.ConfigurationPath, args.ServiceDefinitionPath, args.RoleName)); case RoleIsolationMode.AppDomain: var setup = new AppDomainSetup { ApplicationBase = args.SiteBinDirectory, ConfigurationFile = WebConfigHelper.DetermineWebConfigPath(args.Assembly) }; return(new AppDomainRunner(role, setup, args.Assembly, args.ConfigurationPath, args.ServiceDefinitionPath, args.RoleName)); default: throw new NotSupportedException(); } }