Я хочу сделать редирект из потока. Но есть исключение «Ответ не доступен в этом контексте». Упрощенный код выглядит следующим образом:
protected void Page_Load(object sender, EventArgs e)
{
// some code here
Thread myThread = new Thread(new ParameterizedThreadStart(GetAuthServerSessionStatus));
myThread.Start(sessionId);
// some other code
}
protected void GetAuthServerSessionStatus(object sessionId){
// some code checks is the session is valid
// if session is not valid, redirect to auth page
while (true) {
Thread.sleep(5000);
// some code checks is the session is valid
// if session is not valid, redirect to auth page
Response.Redirect("Logon.aspx");
}
}
Основная идея заключается в проверке в фоновом режиме каждые несколько минут, является ли идентификатор сеанса, предоставленный пользователю внешней службой аутентификации, действительным. Если нет, перенаправьте пользователя на страницу входа еще раз. Я пытался сделать это, используя JS, но CORS мешает это сделать. Есть ли способ сделать успешное перенаправление из потока?