Blazor App在运行期间会丢失一些HTTP请求头信息,包括当应用程序切换页面时发送的请求头。如果您正在使用Cookie来保持用户状态,则可能会受到影响。这种情况下,您可以使用Angular、React或传统的ASP.NET应用程序维护状态,或者使用Token验证而不是Cookie。如果您不想更改身份验证的方法,则可以使用JavaScript代码来解决此问题。要解决此问题,您可以使用以下JavaScript代码:
window.addEventListener('unload', function () {
document.cookie = 'UserSessionExpires=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
document.cookie = 'UserSessionID=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
});
在index.html页面的底部添加上面的JavaScript代码。这将清除所有Cookie,从而避免Blazor随机终止Cookie会话的问题。