下载 angularjs 模板时在 Azure App Service 中随机出现错误 500

Randomly getting error 500 in Azure App Service when downloading angularjs template

我有一个基于 angularjs 的应用程序托管在 Azure 应用服务中。

当应用程序在浏览器中加载时,angularjs 下载一堆指令模板(静态 html 文件)。其中大部分下载正确 (http 200),但其中一些随机导致 http 500 错误。

如果我尝试直接 url 访问生成 500 错误的文件,有时会正确下载,有时却不能。

我确实比较了 cookies/headers/etc.. 正确和失败的请求,它们是一样的。

使用应用程序洞察,我发现错误发生在验证此方法中的防伪令牌时:System.Web.Helpers.AntiXsrf.TokenValidator.ValidateTokens。异常表示防伪令牌是为不是当前用户的用户颁发的。

Azure 应用服务使用 6 个固定的应用程序实例。 ARR Affinity 已启用,Always On 已禁用。

有人遇到了类似的问题可以指点我解决这个问题吗?

编辑:

这是在客户端发生的事情:

有时,在同一台机器、同一浏览器、同一用户中加载同一页面...模板下载正常:

所有模板的引用方式相同:

var ngCModule = angular.module('ngC', ['ngD']);

ngCModule.directive('cont', function (Timezone) {
    return {
        restrict: 'E',
        ...
        templateUrl: "/Scripts/angular-templates/angular-contribuyente-template.html"
    }
});

在本地 IIS 中部署的相同应用程序不会引发这些错误。

我们发现这个奇怪的问题是 side-problem 由启用客户端应用洞察监控引起的。

当我们在应用服务中配置时:

APPINSIGHTS_JAVASCRIPT_ENABLE = 真

那些奇怪的 http 500 错误是随机发生的。

给这个参数赋值false后,就没有http 500错误了。