public WorkerRole AddAzureCacheWorkerRoleProcess(string workerRoleName, int instances, string rootPath) { // Create cache worker role. Action <string, RoleInfo> cacheWorkerRoleAction = CacheConfigurationFactory.GetCacheRoleConfigurationAction( new AzureTool().AzureSdkVersion); CloudServiceProject cloudServiceProject = new CloudServiceProject(rootPath, null); RoleInfo genericWorkerRole = cloudServiceProject.AddWorkerRole( Path.Combine(Resources.GeneralScaffolding, RoleType.WorkerRole.ToString()), workerRoleName, instances); // Dedicate the worker role for caching. cacheWorkerRoleAction(cloudServiceProject.Paths.RootPath, genericWorkerRole); cloudServiceProject.Reload(); WorkerRole cacheWorkerRole = cloudServiceProject.Components.GetWorkerRole(genericWorkerRole.Name); // Write output SafeWriteOutputPSObject( cacheWorkerRole.GetType().FullName, Parameters.CacheWorkerRoleName, genericWorkerRole.Name, Parameters.Instances, genericWorkerRole.InstanceCount ); return(cloudServiceProject.Components.GetWorkerRole(workerRoleName)); }
public WorkerRole AddAzureCacheWorkerRoleProcess(string workerRoleName, int instances, string rootPath) { // Create cache worker role. AzureService azureService = new AzureService(rootPath, null); RoleInfo nodeWorkerRole = azureService.AddWorkerRole(Path.Combine(Resources.GeneralScaffolding, RoleType.WorkerRole.ToString()), workerRoleName, instances); azureService = CachingConfigurationFactoryMethod(rootPath, nodeWorkerRole, new AzureTool().AzureSdkVersion); azureService.Components.Save(azureService.Paths); WorkerRole cacheWorkerRole = azureService.Components.GetWorkerRole(nodeWorkerRole.Name); // Write output SafeWriteOutputPSObject( cacheWorkerRole.GetType().FullName, Parameters.CacheWorkerRoleName, nodeWorkerRole.Name, Parameters.Instances, nodeWorkerRole.InstanceCount ); return(azureService.Components.GetWorkerRole(workerRoleName)); }