У меня есть приложение Razor Pages, где у меня есть один действительно простой раздел, где пользователь вводит идентификатор и перенаправляется на страницу, которая отображает определенный контент.
Когда пользователь вводит идентификатор, я устанавливаю переменную Session так:
HttpContext.Session.Clear();
HttpContext.SignOutAsync();
foreach(var cookie in Request.Cookies.Keys)
{
Response.Cookies.Delete(cookie);
}
HttpContext.Session.SetInt32("Token", 12345);
return Redirect("/DisplayPresentation");
Причина, по которой я удаляю все файлы cookie и выхожу из системы, заключается в том, что я хочу убедиться, что в текущем сеансе больше ничего нет.
В основном я получаю это значение сеанса на перенаправленной странице, просто так:
int tokenId = HttpContext.Session.GetInt32("Token") ?? default(int);
По какой-то причине я не могу объяснить себя, каждый раз, когда я делаю этот процесс "входа в систему", сеанс отбрасывается сервером, поэтому tokenId
будет 0
.
Я заметил, что у меня есть нормальная система авторизации для другого раздела приложения, так что, возможно, это делает забавные вещи.
Любая помощь будет принята с благодарностью. Заранее спасибо!
(PS: я надеюсь, что предоставил достаточно информации для решения проблемы)