本文整理汇总了C#中Microsoft.WindowsAzure.Commands.Utilities.CloudService.CloudServiceProject.AddWorkerRole方法的典型用法代码示例。如果您正苦于以下问题:C# CloudServiceProject.AddWorkerRole方法的具体用法?C# CloudServiceProject.AddWorkerRole怎么用?C# CloudServiceProject.AddWorkerRole使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.WindowsAzure.Commands.Utilities.CloudService.CloudServiceProject
的用法示例。
在下文中一共展示了CloudServiceProject.AddWorkerRole方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExecuteCmdlet
public override void ExecuteCmdlet()
{
RootPath = RootPath ?? CommonUtilities.GetServiceRootPath(CurrentPath());
CloudServiceProject service = new CloudServiceProject(RootPath, null);
RoleInfo roleInfo = null;
if (isWebRole)
{
roleInfo = service.AddWebRole(Scaffolding, Name, Instances);
}
else
{
roleInfo = service.AddWorkerRole(Scaffolding, Name, Instances);
}
OnProcessing(roleInfo);
try
{
service.ChangeRolePermissions(roleInfo);
SafeWriteOutputPSObject(typeof(RoleSettings).FullName, Parameters.RoleName, roleInfo.Name);
WriteVerbose(string.Format(successMessage, RootPath, roleInfo.Name));
}
catch (UnauthorizedAccessException)
{
WriteWarning(Resources.AddRoleMessageInsufficientPermissions);
}
}
示例2: AddAzureCacheWorkerRoleProcess
public WorkerRole AddAzureCacheWorkerRoleProcess(string workerRoleName, int instances, string rootPath)
{
// Create cache worker role.
Action<string, RoleInfo> cacheWorkerRoleAction = CacheConfigurationFactory.GetCacheRoleConfigurationAction(
AzureTool.GetAzureSdkVersion());
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);
}
示例3: CreateLocalPackageWithMultipleRoles
public void CreateLocalPackageWithMultipleRoles()
{
using (FileSystemHelper files = new FileSystemHelper(this))
{
CloudServiceProject service = new CloudServiceProject(files.RootPath, serviceName, null);
service.AddWorkerRole(Test.Utilities.Common.Data.NodeWorkerRoleScaffoldingPath);
service.AddWebRole(Test.Utilities.Common.Data.NodeWebRoleScaffoldingPath);
service.AddWorkerRole(Test.Utilities.Common.Data.PHPWorkerRoleScaffoldingPath);
service.AddWebRole(Test.Utilities.Common.Data.PHPWebRoleScaffoldingPath);
service.CreatePackage(DevEnv.Local);
AzureAssert.ScaffoldingExists(Path.Combine(service.Paths.LocalPackage, @"roles\WorkerRole1\approot"), Path.Combine(Resources.NodeScaffolding, Resources.WorkerRole));
AzureAssert.ScaffoldingExists(Path.Combine(service.Paths.LocalPackage, @"roles\WebRole1\approot"), Path.Combine(Resources.NodeScaffolding, Resources.WebRole));
AzureAssert.ScaffoldingExists(Path.Combine(service.Paths.LocalPackage, @"roles\WorkerRole2\approot"), Path.Combine(Resources.PHPScaffolding, Resources.WorkerRole));
AzureAssert.ScaffoldingExists(Path.Combine(service.Paths.LocalPackage, @"roles\WebRole2\approot"), Path.Combine(Resources.PHPScaffolding, Resources.WebRole));
}
}
示例4: CreateCloudPackageWithMultipleRoles
public void CreateCloudPackageWithMultipleRoles()
{
using (FileSystemHelper files = new FileSystemHelper(this))
{
CloudServiceProject service = new CloudServiceProject(files.RootPath, serviceName, null);
service.AddWorkerRole(Test.Utilities.Common.Data.NodeWorkerRoleScaffoldingPath);
service.AddWebRole(Test.Utilities.Common.Data.NodeWebRoleScaffoldingPath);
service.AddWorkerRole(Test.Utilities.Common.Data.PHPWorkerRoleScaffoldingPath);
service.AddWebRole(Test.Utilities.Common.Data.PHPWebRoleScaffoldingPath);
service.CreatePackage(DevEnv.Cloud);
using (Package package = Package.Open(service.Paths.CloudPackage))
{
Assert.Equal(9, package.GetParts().Count());
}
}
}
示例5: AzureServiceAddNewPHPWorkerRoleTest
public void AzureServiceAddNewPHPWorkerRoleTest()
{
using (FileSystemHelper files = new FileSystemHelper(this))
{
CloudServiceProject service = new CloudServiceProject(files.RootPath, serviceName, null);
RoleInfo workerRole = service.AddWorkerRole(Test.Utilities.Common.Data.PHPWorkerRoleScaffoldingPath, "MyWorkerRole", 10);
AzureAssert.AzureServiceExists(Path.Combine(files.RootPath, serviceName), Resources.GeneralScaffolding, serviceName, workerRoles: new WorkerRoleInfo[] { (WorkerRoleInfo)workerRole }, workerScaff: Path.Combine(Resources.PHPScaffolding, Resources.WorkerRole), roles: new RoleInfo[] { workerRole });
}
}
示例6: TestCreatePackageWithMultipleRolesSuccessfull
public void TestCreatePackageWithMultipleRolesSuccessfull()
{
using (FileSystemHelper files = new FileSystemHelper(this))
{
files.CreateAzureSdkDirectoryAndImportPublishSettings();
files.CreateNewService("NEW_SERVICE");
string rootPath = Path.Combine(files.RootPath, "NEW_SERVICE");
string packagePath = Path.Combine(rootPath, Resources.CloudPackageFileName);
CloudServiceProject service = new CloudServiceProject(rootPath, FileUtilities.GetContentFilePath(@"..\..\..\..\..\Package\Debug\ServiceManagement\Azure\Services"));
service.AddWebRole(Test.Utilities.Common.Data.NodeWebRoleScaffoldingPath);
service.AddWorkerRole(Test.Utilities.Common.Data.NodeWorkerRoleScaffoldingPath);
service.AddWorkerRole(Test.Utilities.Common.Data.NodeWorkerRoleScaffoldingPath);
service.AddWebRole(Test.Utilities.Common.Data.NodeWebRoleScaffoldingPath);
cmdlet.ExecuteCmdlet();
PSObject obj = mockCommandRuntime.OutputPipeline[0] as PSObject;
Assert.Equal<string>(string.Format(Resources.PackageCreated, packagePath), mockCommandRuntime.VerboseStream[0]);
Assert.Equal<string>(packagePath, obj.GetVariableValue<string>(Parameters.PackagePath));
Assert.True(File.Exists(packagePath));
}
}
示例7: SetAzureInstancesProcessTestsPHPRoleNameDoesNotExistServiceContainsWorkerRoleFail
public void SetAzureInstancesProcessTestsPHPRoleNameDoesNotExistServiceContainsWorkerRoleFail()
{
string roleName = "WorkerRole1";
string invalidRoleName = "foo";
using (FileSystemHelper files = new FileSystemHelper(this))
{
CloudServiceProject service = new CloudServiceProject(files.RootPath, serviceName, null);
service.AddWorkerRole(Test.Utilities.Common.Data.PHPWorkerRoleScaffoldingPath, roleName, 1);
Testing.AssertThrows<ArgumentException>(() => service.SetRoleInstances(service.Paths, invalidRoleName, 10), string.Format(Resources.RoleNotFoundMessage, invalidRoleName));
}
}
示例8: RetrieveRightErrorFromCsPackProcess
void RetrieveRightErrorFromCsPackProcess()
{
string serviceName = "AzureService";
string sampleError = "error";
string stagingFolder = FileSystemHelper.GetTemporaryDirectoryName();
string fakedSDKBinPath = @"c:\foobar";
Directory.CreateDirectory(stagingFolder);
try
{
CloudServiceProject service = new CloudServiceProject(stagingFolder, serviceName, null);
service.AddWorkerRole(Test.Utilities.Common.Data.NodeWorkerRoleScaffoldingPath);
CsPack packTool = new CsPack();
string standardOutput, standardError;
//Scenario #1 we set up so cspack.exe fails (exitcode is 1), but gives out the error through standardOutput.
Mock<ProcessHelper> commandRunner = new Mock<ProcessHelper>();
commandRunner.Setup(p => p.StartAndWaitForProcess(It.IsAny<string>(), It.IsAny<string>()))
.Callback(() => {
commandRunner.Object.StandardOutput = sampleError;
commandRunner.Object.StandardError = "";
commandRunner.Object.ExitCode = 1;
});
packTool.ProcessUtil = commandRunner.Object;
//action
packTool.CreatePackage(service.Components.Definition, service.Paths, DevEnv.Local, fakedSDKBinPath, out standardOutput, out standardError);
//assert we take "standardoutput" as the error message
Assert.Equal(sampleError, standardError);
//Scenario #2: set up so cspack.exe succeed (exitcode is 0)
commandRunner = new Mock<ProcessHelper>();
commandRunner.Setup(p => p.StartAndWaitForProcess(It.IsAny<string>(), It.IsAny<string>()))
.Callback(() =>
{
commandRunner.Object.StandardOutput = sampleError;
commandRunner.Object.StandardError = string.Empty;
commandRunner.Object.ExitCode = 0;
});
packTool.ProcessUtil = commandRunner.Object;
//action
packTool.CreatePackage(service.Components.Definition, service.Paths, DevEnv.Local, fakedSDKBinPath, out standardOutput, out standardError);
//assert, we outputs no error
Assert.Equal(string.Empty, standardError);
//Sceanrio 3: set up so cspack.exe failed (exitcode is 1), but gives out no ouput and error
commandRunner = new Mock<ProcessHelper>();
commandRunner.Setup(p => p.StartAndWaitForProcess(It.IsAny<string>(), It.IsAny<string>()))
.Callback(() =>
{
commandRunner.Object.StandardOutput = string.Empty;
commandRunner.Object.StandardError = string.Empty;
commandRunner.Object.ExitCode = 1;
});
packTool.ProcessUtil = commandRunner.Object;
//action
packTool.CreatePackage(service.Components.Definition, service.Paths, DevEnv.Local, fakedSDKBinPath, out standardOutput, out standardError);
//assert, we output a generic error message
Assert.Equal(Resources.CsPackExeGenericFailure, standardError);
}
finally
{
Directory.Delete(stagingFolder, true);
}
}
示例9: GetNextPortNullPHPWebEndpointAndWorkerRole
public void GetNextPortNullPHPWebEndpointAndWorkerRole()
{
using (FileSystemHelper files = new FileSystemHelper(this))
{
int expectedPort = int.Parse(Resources.DefaultPort);
CloudServiceProject service = new CloudServiceProject(files.RootPath, serviceName, null);
service.AddWebRole(Test.Utilities.Common.Data.PHPWebRoleScaffoldingPath);
service.Components.Definition.WebRole.ToList().ForEach(wr => wr.Endpoints = null);
service.AddWorkerRole(Test.Utilities.Common.Data.PHPWorkerRoleScaffoldingPath);
service = new CloudServiceProject(service.Paths.RootPath, null);
int nextPort = service.Components.GetNextPort();
Assert.Equal<int>(expectedPort, nextPort);
}
}
示例10: GetNextPortNodeWebRoleNull
public void GetNextPortNodeWebRoleNull()
{
using (FileSystemHelper files = new FileSystemHelper(this))
{
int expectedPort = int.Parse(Resources.DefaultPort);
CloudServiceProject service = new CloudServiceProject(files.RootPath, serviceName, null);
service.AddWorkerRole(Test.Utilities.Common.Data.NodeWorkerRoleScaffoldingPath);
service = new CloudServiceProject(service.Paths.RootPath, null);
int nextPort = service.Components.GetNextPort();
Assert.Equal<int>(expectedPort, nextPort);
}
}