c# - 无法创建 Azure WebSpace

标签 c# azure azure-web-app-service azure-management

我正在尝试使用 nuget 包创建一个新网站 Microsoft.WindowsAzure.Management.WebSites(版本 3.0.0)

本教程很有帮助(尽管它是 Java): http://azure.microsoft.com/fi-fi/documentation/articles/java-create-azure-website-using-java-sdk/ 但它建议使用 WebSpaceNames.WestUSWebSpace 常量。

var hostingPlanParams = new WebHostingPlanCreateParameters
{
    Name = this.webhostingPlanName,
    NumberOfWorkers = 1,
    SKU = SkuOptions.Free,
    WorkerSize = WorkerSizeOptions.Small
};
var result = new WebSiteManagementClient(this.Credentials)
    .WebHostingPlans
    .CreateAsync(WebSpaceNames.WestUSWebSpace, hostingPlanParams, CancellationToken.None)
    .Result

这将导致异常:NotFound: Cannot find WebSpace with name westuswebspace.

我实际上想创建一个自定义 WebSpace。

除了我找不到任何方法。 See MSDN

因此,我完成这项工作的唯一方法是使用通过 manage.windowsazure.com 站点创建的现有 WebSpace。这违背了自动化的全部目的。

IWebSpaceOperations 上唯一的 Create[...] 方法是 CreatePublishingUserAsync 我也尝试过运行它,但它会导致异常此操作是不支持具有共同管理员的订阅。这本身就很烦人,对我来说没有多大意义,但并不是我问题的核心。

最佳答案

我通过使用预发布包解决了这个问题:PM> Install-Package Microsoft.Azure.Management.WebSites -Pre 效果非常好。但这只是预发布的原因

// Create Web Hosting Plan
var hostingPlanParams = new WebHostingPlanCreateOrUpdateParameters
{
    WebHostingPlan = new WebHostingPlan()
    {
        Name = "WebHostingPlanName",
        Location = "Australia Southeast",
        Properties = new WebHostingPlanProperties
        {
            NumberOfWorkers = 1,
            Sku = SkuOptions.Standard,
            WorkerSize = WorkerSizeOptions.Small
        }
    },
};
var result = this.ManagementContext.WebSiteManagementClient.WebHostingPlans.CreateOrUpdateAsync(
        "ResourceGroupName",
        "WebHostingPlanName",
        CancellationToken.None).Result;

// Create Website
var websiteParams = new WebSiteCreateOrUpdateParameters
{
    WebSite = new WebSiteBase
    {
        Location = "Australia Southeast",
        Name = "WebSiteName",
        Properties = new WebSiteBaseProperties
        {
            ServerFarm = "WebHostingPlanName"
        }
    }
};

var siteResult = this.ManagementContext.WebSiteManagementClient.WebSites.CreateOrUpdateAsync(
        "ResourceGroupName",
        "WebSiteName",
        null,
        websiteParams,
        CancellationToken.None).Result;

如果您想使用部署槽,则必须考虑这一点: https://github.com/Azure/azure-sdk-for-net/issues/1088

关于c# - 无法创建 Azure WebSpace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29979940/

相关文章:

c# - 检查图片框值是否为空

java - JDBC MySQL 连接问题 - 尝试重新连接 3 次。放弃

deployment - 如何使用 Powershell 和 Hudson 构建并部署到 Windows Azure?

azure - 使用 Azure Web Apps Auth 获取登录用户

c# - 是否有任何好的/可自动化的依赖管理工具来管理应用程序、数据库和外部资源的依赖关系?

c# - 带有 'New...' 项的数据绑定(bind) WPF ComboBox

c# - 检查 NumericUpDown 是否为空

asp.net - Windows Azure 基于角色的身份验证 (ACS)

azure - 我可以有条件地使用ARM模板中的复制功能吗

azure - 停止 Azure 站点 Web 作业