Я использую платформу ASP.NET Boilerplate, на каждой странице я размещаю следующий код.
@inject IAbpAntiForgeryManager AbpAntiForgeryManager
@{
AbpAntiForgeryManager.SetCookie(Context);
}
Я вызываю службу приложений, как показано ниже:
var xhr = abp.services.app.order.add(data);
xhr.done(function (data) {
alert(data);
});
Все работает нормально, когдаЯ запускаю в localhost, токен XSRF не истечет, даже если я пересоберу проект.Каждый раз, когда я нажимаю [Опубликовать веб-сайт в IIS], все запросы ajax будут возвращать 400 неверных запросов, я полагаю, это потому, что срок действия маркера XSRF истек, и все возвращается в нормальное состояние после нажатия F5 в браузере.Это так раздражало пользователя, что я могу сделать, чтобы предотвратить эту ошибку?Или токен автообновления?
Спасибо!
update
сообщение об ошибке в файле журнала:
ERROR 2019-02-12 13:40:09,773 [71 ] .Antiforgery.Internal.DefaultAntiforgery - An exception was thrown while deserializing the token.
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery token could not be decrypted. ---> System.Security.Cryptography.CryptographicException: The key {996d31d2-0fa3-4ffe-8e82-e155c1486d33} was not found in the key ring.