标签: azure-web-app-service

Azure DevOps无法部署到Azure Web App

我目前正在尝试将公司A拥有的Azure DevOps下的发布管道中的应用程序部署到公司B拥有的Azure上托管的Azure应用程序中.

尝试释放停止Azure应用程序时继续收到此错误:

错误:无法获取资源类型"Microsoft.Web/Sites"和资源名称"AppName"的资源ID.错误:无法获取托管服务主体的访问令牌.请为虚拟机" https://aka.ms/azure-msi-docs " 配置托管服务标识(MSI).状态码:400,状态消息:错误请求

我不知道如何解决这个问题.

到目前为止做了什么:

  • Web App在Azure公司B中创建
  • 来自DevOps Company的用户A帐户在公司Azure AD中作为访客用户添加
  • 用户在Web App上具有Contributor权限
  • Web应用程序上的托管服务标识设置为"开"
  • 在Azure DevOps中设置发行版时,可以查看和选择公司B和Web Apps的订阅.

我很确定需要更多才能使发布部署工作,但经过深入搜索后,我无法找到任何内容.

希望这里有人可以提供建议.

azure azure-web-app-service azure-devops azure-pipelines-release-pipeline

12
推荐指数
1
解决办法
5593
查看次数

从 Visual Studio 2019 将 ASP.NET Core 3.1 站点发布到 Azure 时出错

我有一个预先存在的ASP.NET Core 3.0应用程序,它已成功部署到Azure 应用服务(使用AspNetCoreModuleV2模块)。将应用程序升级到(今天的版本)ASP.NET Core 3.1 后,应用程序在我的本地版本IIS Express上构建并正确运行。但是,当我尝试使用(今天发布的)Visual Studio 16.4发布到 Azure 应用服务时,我收到以下错误:

资产文件“C:\Project\obj\project.assets.json”没有“.NETCoreApp,Version=v3.0”的目标。确保恢复已运行并且您已在项目的 TargetFrameworks 中包含“netcoreapp3.0”。

笔记

  • 全部<PackageReference>Microsoft.AspNetCore, Microsoft.EntityFrameworkCore, 并且Microsoft.Extensions已更新为3.1.0
  • 我已经清理了我的解决方案,甚至修改了我的obj文件夹以确保没有任何遗留的引用。
  • 正在从产生这个错误3.1.100的版本Microsoft.PackageDependencyResolution.targets

我知道有些东西仍然挂在.NET Core 3.0依赖项上。但目前还不清楚为什么这只会在部署过程中引起问题。是Azure的应用程序Service的还没有准备好.NET 3.1的核心?或者这是依赖解析目标的问题?

visual-studio webdeploy azure-web-app-service asp.net-core asp.net-core-3.1

12
推荐指数
1
解决办法
4881
查看次数

发布更改后强制重新加载 Blazor 客户端

我有一个 Blazor 应用程序,我将它部署到 Azure 以进行一些 alpha 测试。我设法做到了这一点,并且可以很好地从网站上运行该应用程序。

当我对客户端和服务器项目进行更改并重新发布它们时,问题就出现了。无论浏览器在运行什么,客户端都将运行浏览器缓存中已有的内容,直到浏览器历史记录被清除。这意味着在清除历史记录之前,应用程序似乎已损坏,因为旧版本上的客户端请求与新服务器 API 不匹配 - 更不用说我的客户端更改没有得到测试。

发布更改时如何强制重新加载客户端?我是否必须告诉浏览器不要缓存我的应用程序(不确定如何在 blazor 上)并在我的应用程序稳定之前降低性能?或者有没有办法在第一次 API 调用后使用一些中间件或其他东西强制客户端重新加载?

或者我错过了什么?

编辑:我使用了 Blazor WebAssembly 3.2.0 Preview 2 中提供的 PWA 模板可能是相关的。我仍在从浏览器运行该应用程序,但启用 PWA 选项似乎可能改变了应用程序的行为,即使在将其作为常规网站运行。

azure-web-app-service blazor

12
推荐指数
2
解决办法
3836
查看次数

Azure 应用服务交换所需的时间是直接部署的数倍

我在 S1 应用服务上有一个非常简单的 asp.net core 托管 blazor wasm 应用程序,有 2 个插槽:集成和生产。当我刚刚发布到我的集成槽时,大约需要 50 秒。但当我将集成与生产插槽交换时,需要 7 分钟以上。这两个应用程序的插槽在此之后都非常慢,通常需要一分钟多的时间才能再次做出反应。在交换期间,两者根本没有响应。

只有 2 个设置和连接字符串需要更改。而且我没有任何手动预热。交换功能是否真的意味着在如此低的配置上使用,或者我可以调整配置中的某些内容以加快速度吗?

azure-web-app-service

12
推荐指数
0
解决办法
9174
查看次数

将Application Insights与ILoggerFactory一起使用

我正在尝试将异常记录到Application Insights.我通过TelemetryClient.TrackException直接打电话成功完成了这项工作.但是,我想在我的代码中抽象出来,以防我将来想要登录其他平台,所以我想只关注ILogger接口.

我发现你可以使用ILoggerFactory.AddApplicationInsights(在这里实现),但不管我做了什么,我都没有看到日志在ApplicationInsights中出现.

以下是我的代码:

Startup.cs

    IConfigurationRoot Configuration { get; set; }
    ILoggerFactory LoggerFactory { get; set; }
    IServiceProvider ServiceProvider { get; set; }

    public Startup( IHostingEnvironment hostingEnvironment, ILoggerFactory loggerFactory )
    {
        this.LoggerFactory = loggerFactory;
        string configurationFilePath = "abc.json";

        this.Configuration = new ConfigurationBuilder()
            .SetBasePath( hostingEnvironment.ContentRootPath )
            .AddJsonFile( configurationFilePath, optional: true, reloadOnChange: true )
            .AddEnvironmentVariables()
            .Build();
    }

    public void Configure(
        IApplicationBuilder applicationBuilder,
        IHostingEnvironment hostingEnvironment,
        ILoggerFactory loggerFactory,
        IServiceProvider serviceProvider )
    {
        this.ServiceProvider = serviceProvider;
        loggerFactory.AddApplicationInsights( serviceProvider ); …
Run Code Online (Sandbox Code Playgroud)

c# logging azure-application-insights azure-web-app-service asp.net-core

11
推荐指数
3
解决办法
1万
查看次数

使用自定义容器环境变量部署Azure Webapp

一般来说,我会在本地机器上启动docker实例 docker run -t -i -e 'a=b' ...

现在,我想部署并运行我之前上传到Docker Container Registry的自定义docker镜像,并像上面的命令一样启动它 - 使用环境变量.

检查Azure CLI for WebApps,您可以看到通常应该可以设置环境变量.但对我来说,似乎这个"环境变量"不是传递给docker命令的环境变量.为什么?检查容器协议我可以看到docker容器是如何启动的.没有设置环境变量.

使用Azure容器,它会像这样工作az container create ... --environment-variables a=b.这些环境变量传递给容器/ docker.这正是我在寻找WebApps的原因.

有没有人在使用环境变量启动的客户Docker实例部署Azure Webapps方面有一些经验?

azure acs docker azure-web-app-service

11
推荐指数
1
解决办法
4647
查看次数

将 Web 应用程序部署到 Azure,但仍显示 Microsoft 页面

我正在尝试将我的 Web 应用程序部署到 Microsoft Azure,并且在 Visual Studio 中一切正常。但是当它启动时显示:

嘿,应用服务开发人员!
您的应用服务已启动并正在运行。
是时候进行下一步并部署您的代码了。

如何显示我的网页而不是这个页面?

这是我在 Visual Studio 中得到的输出。

------ Publish started: Project: RCMania, Configuration: Debug Any CPU ------
Transformed Web.config using C:\DDAC\Assignment\RCMania\RCMania\Web.Debug.config into C:\Users\Admin\AppData\Local\Temp\WebSitePublish\RCMania-1747672403\obj\Debug\TransformWebConfig\transformed\Web.config.
Auto ConnectionString Transformed C:\Users\Admin\AppData\Local\Temp\WebSitePublish\RCMania-1747672403\obj\Debug\TransformWebConfig\transformed\Web.config into C:\Users\Admin\AppData\Local\Temp\WebSitePublish\RCMania-1747672403\obj\Debug\CSAutoParameterize\transformed\Web.config.
Copying all files to temporary location below for package/publish:
C:\Users\Admin\AppData\Local\Temp\WebSitePublish\RCMania-1747672403\obj\Debug\Package\PackageTmp.
Start Web Deploy Publish the Application/package to https://rcmania.scm.azurewebsites.net/msdeploy.axd?site=rcmania ...
Adding ACLs for path (rcmania)
Adding ACLs for path (rcmania)
Updating file (rcmania\Web.config).
Adding ACLs for path (rcmania)
Adding ACLs for path (rcmania) …
Run Code Online (Sandbox Code Playgroud)

asp.net azure azure-web-app-service azure-webapps

11
推荐指数
1
解决办法
6919
查看次数

未为 Linux Azure WebApp 找到指定的框架“Microsoft.AspNetCore.App”,版本“3.1.0”

问题

在 Azure 中将 .Net Core 2.2 Linux Web 应用程序升级到 .Net Core 3.1 后,应用程序因Specified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found错误而关闭。我什至用 .Net Core 3.1 创建了一个新的 Linux Web App,在 bash 命令提示符后仍然输出dotnet --list-runtimes2.2.7.

细节

网站关闭

应用程序错误

日志流

报告应用程序已关闭,因为它找不到 .net core 3.1。

日志流

创建了新的 .net 核心 Web 应用程序

3.1 linux webapp in North Central,同样问题

创建了新的网络应用程序

确保它在美国中北部运行

根据https://aspnetcoreon.azurewebsites.net/,应该有完整的 .netCore 3.1 支持

仍然是 .net 核心 2.2.7 cmd 提示 2.2.7

opt/dotnet/runtimes 列出 3、3.0 和 3.0.0,但没有 3.1` 在此处输入图片说明

环境变量

我在 Azure 列表中的环境变量FRAMEWORK_VERSION = lts,而不是 …

azure .net-core azure-web-app-service .net-core-3.1

11
推荐指数
1
解决办法
3763
查看次数

当 Web 应用程序位于 AAD 组中时,用户“&lt;令牌识别的主体&gt;”登录失败

当 Azure Active Directory 管理员是 AAD 组时,我的 Web 应用程序无法登录数据库服务器

我一直在我的 Azure Web Apps 上推出“新”托管身份功能,并取得了不同程度的成功。简而言之,我们希望能够通过 Active Directory 控制对 Azure SQL 服务器的访问。我们已在 Web 应用程序上启用托管身份:

在此输入图像描述

我决定创建一个 AAD 组,添加所有 DBA 以及有权与该数据库服务器通信的 Azure Web 应用程序。然后,该 AAD 组将被分配为 Azure Active Directory 管理员。这是包含许多 DBA 和 Web 应用程序作为成员的 AAD 组:

在此输入图像描述

设置数据库服务器的 Azure Active Directory 管理员:

在此输入图像描述

此时,组内用户可以通过SSMS成功登录,而Web App则不能。"Login failed for user '<token-identified principal>'"我在 Web 应用程序日志中 收到错误。如果我直接将Web App设置为Azure Active Directory Admin,则可以成功登录。

我已通过 .scm 安装了 MSI 验证程序。(Kudu) 仪表板,并确认当组分配为管理员和 Web 应用程序直接分配为管理员时,Web 应用程序可以成功从数据库服务器检索令牌。(为了完整起见,我还尝试从它不应该访问的服务器访问令牌,并且无法按预期检索)

我还尝试过以下方法:

  • 删除并重新创建 AAD 组。
  • 向上或向下扩展 Web 应用程序和数据库以触发重新启动/缓存清除。 …

azure azure-active-directory azure-sql-database azure-web-app-service azure-managed-identity

11
推荐指数
1
解决办法
5万
查看次数

Docker 永远不会在 Azure 上运行 - 等待对容器预热请求的响应

我正在尝试在 Azure 的应用服务上部署一个 dockerized 应用程序。我正确输入了所有字段,我的图像被拉出,然后我不断收到此错误,直到出现超时。

Waiting for response to warmup request for container -<container name > Elapsed time = 154.673506 sec
Run Code Online (Sandbox Code Playgroud)

我确实设置了 WEBSITE_PORT 8080(由我的应用程序使用)

这是 dockerfile

FROM google/dart

WORKDIR /app
ADD pubspec.* /app/
RUN pub get --no-precompile
ADD . /app/
RUN pub get --offline --no-precompile

WORKDIR /app
EXPOSE 8080

ENTRYPOINT ["pub", "run", "aqueduct:aqueduct", "serve", "--port", "8080"]
Run Code Online (Sandbox Code Playgroud)

它工作正常。我昨晚让它工作了。我想刷新我的图像,所以我重新启动。没有任何效果。几个小时后,我删除了我的应用程序并重新开始......不走运。有任何想法吗?

编辑 1: 尝试将端口更改为 80,但不走运(这是我最初在正常工作时使用的端口)

已解决(部分)* 我将所有内容更改为 8000 端口。我意识到 Linux 和 Windows 不喜欢在 80 上进行非系统监听。因此,我更改了 8000 上的所有内容并在 Azure {WEBSITE_PORT, 8000} 上设置了系统属性。它现在似乎工作正常。我不知道这是否是官方修复...但它会在 30 秒后预热

containers azure docker azure-web-app-service

10
推荐指数
4
解决办法
1万
查看次数