我在 Azure 應用服務中托管了一個基于 angularjs 的應用程式。
當應用程式在瀏覽器中加載時,angularjs 會下載一堆指令模板(靜態 html 檔案)。它們中的大多數都正確下載(http 200),但其中一些隨機導致 http 500 錯誤。
如果我嘗試訪問生成 500 錯誤的檔案的直接 url,有時會正確下載,有時則不會。
我確實比較了正確和失敗請求的cookies/headers/etc..它們是相同的。
使用應用程式洞察力,我發現在以下方法中驗證防偽令牌時會發生錯誤:System.Web.Helpers.AntiXsrf.TokenValidator.ValidateTokens。Exception 表示為非當前用戶的用戶頒發了防偽令牌。
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 中的相同應用程式不會引發這些錯誤。
uj5u.com熱心網友回復:
我們發現這個奇怪的問題是啟用客戶端應用程式洞察監控引起的一個附帶問題。
當我們在應用服務中配置時:
APPINSIGHTS_JAVASCRIPT_ENABLE = 真
那些奇怪的 http 500 錯誤是隨機發生的。
給這個引數賦值 false 后,就不再有 http 500 錯誤了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464218.html
