У меня есть if / else на моей странице макета для аутентификации, содержащей Renderbody () или перенаправление.
@if (User.Identity.IsAuthenticated)
{
@RenderBody()
}
else
{
RenderBody();
if (Context.Request.Path != "/accounts/login" && Context.Request.Path != "/accounts/signup")
{
<meta http-equiv="REFRESH" content="0; url=/accounts/login">
}
else
{
@RenderBody()
}
}
Когда я запускаю свое приложение локально из VS, оно не работает. Например, если я ставлю точку останова в операторе if, он не активируется. Он пропустит C# и просто загрузит содержимое страницы. Даже html из макета загружается нормально. C# Я получил полное имя от пользователя в панели навигации также отлично работает. Только оператор if перестал работать правильно, и я не знаю почему. Вместо этого я попытался использовать промежуточное ПО для перенаправления, но Response.Redirect работает только в том случае, если за ним следует Response.StartAsyn c () и по какой-то причине StartAsyn c заставляет css и js перестать работать.