azure - WebDeploy 到 Azure 失败

标签 azure webdeploy azure-web-app-service microsoft-web-deploy

我使用以下代码通过 WebDeploy 部署到 Azure 网站。我可以使用相同的服务器和凭据信息通过 Visual Studio 2013 的 WebDeploy 部署到同一站点,但是当我运行下面的代码时,它不断失败并告诉我它无法授权,它收到 401。任何想法?

var sourceBaseOptions = new DeploymentBaseOptions();
DeploymentBaseOptions destBaseOptions = new DeploymentBaseOptions()
{
    UserName = prf.UserName,
    Password = prf.UserPassword,
    ComputerName = string.Format("https://{0}/MsDeploy.axd?Site={1}", 
                                    prf.PublishUrl, 
                                    prf.MSDeploySite)
};
//-disableLink:AppPoolExtension 
//-disableLink:ContentExtension 
//-disableLink:CertificateExtension 
foreach (var extension in sourceBaseOptions.LinkExtensions
    .Where(ext => ext.Name == "AppPoolExtension"
                || ext.Name == "ContentExtension"
                || ext.Name == "CertificateExtension"))
{
    extension.Enabled = false;
}
sourceBaseOptions.Trace += sourceBaseOptions_Trace;
sourceBaseOptions.TraceLevel = System.Diagnostics.TraceLevel.Verbose;
foreach (var extension in destBaseOptions.LinkExtensions
    .Where(ext => ext.Name == "AppPoolExtension"
                || ext.Name == "ContentExtension"
                || ext.Name == "CertificateExtension"))
{
    extension.Enabled = false;
}

using (var deploymentObject = DeploymentManager.CreateObject(
                                    DeploymentWellKnownProvider.Package,
                                    @"E:\DeployPackages\Site.zip", 
                                    sourceBaseOptions))
{
    //configure deploy target Web site name instead of using -SetParams
    deploymentObject.SyncParameters
        .Single(p => p.Name == "IIS Web Application Name")
        .Value = prf.MSDeploySite;

    DeploymentSyncOptions syncOptions = new DeploymentSyncOptions();
    syncOptions.WhatIf = false;

    // Will fail on this call
    var changes = deploymentObject.SyncTo(DeploymentWellKnownProvider.Auto, 
                                    "", 
                                    destBaseOptions, 
                                    syncOptions);

}

最佳答案

当然,在我发布这篇文章后不到一分钟,我就灵光一现...修复方法只是将 AuthenticationType = "Basic"设置为 destBaseOptions 对象。

现在感觉自己像个骨头……

关于azure - WebDeploy 到 Azure 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23147330/

相关文章:

spring - 如何在 Spring Boot Azure 中的控制台中显示 sql 查询(Spring Boot + Azure Cosmos)

java - OkHttpAsyncHttpClient 抛出 IOException : closed downloading blob from Azure container

azure - 刷新 WebApp 实例缓存

c# - 如何在azure移动应用程序中对表 Controller 进行客户端调用

visual-studio-2010 - msdeploy(Web 部署)因 401 身份验证问题而失败

msdeploy - (MSDeploy) 将文件夹的内容部署到远程 IIS 服务器

iis - 从Visual Studio 2012到远程IIS 8服务器的Web部署

reactjs - 连续 native Azure AD 登录

asp.net - 更改 Azure 应用服务的 ASP.NET 版本

javascript - 无法读取机器人框架中未定义错误的属性 'length'