В моем _LoginPartial.cshtml
у меня есть эта кнопка выхода:
<form id="logoutForm" class="form-inline" asp-area="Identity" asp-page="/Account/Logout" asp-route-returnUrl="@Url.Action("Index", "", new { area = "" })">
<button id="logout" type="submit">
Log out
</button>
</form>
Затем, из того, что я могу собрать, вызывается Logout.cshtml.cs
:
public class LogoutModel : PageModel
{
private readonly SignInManager<ApplicationUser> _signInManager;
private readonly ILogger<LogoutModel> _logger;
public LogoutModel(SignInManager<ApplicationUser> signInManager, ILogger<LogoutModel> logger)
{
_signInManager = signInManager;
_logger = logger;
}
public void OnGet()
{
}
public async Task<IActionResult> OnPost(string returnUrl = null)
{
await _signInManager.SignOutAsync();
_logger.LogInformation("User logged out.");
if (returnUrl != null)
{
return LocalRedirect(returnUrl);
}
else
{
return RedirectToPage();
}
}
}
Но если Пользовательский сеанс Cook ie истек, когда пользователь нажимает «Выйти», я получаю это описательное сообщение об ошибке:
HTTP ERROR 400
Любые точки останова, установленные в любом месте Logout.cshtml.cs
никогда не попадает.
Что происходит?