Я использую setTimeout для вызова действия MVC, чтобы попытаться сохранить работоспособность аутентификации форм пользователей.
Когда я вызываю этот код нормально (т.е. не использую setTimeout), он поддерживает аутентификацию форм.
При вызове внутри setTimeout это не так.
Мой вопрос: почему это не работает при вызове через setTimeout?
$(document).ready(function() {
DoKeepAlive(); //simple test when page loads....does keep forms auth alive
});
var timeout= 0;
timeout= setTimeout(validationPrompt, 2 * 60 * 1000);
function validationPrompt() {
var answer = confirm("Your session will timeout in less than a minute. Click OK to stay logged in, and reset the timout period.")
if (answer) {
DoKeepAlive(); //when called in here by setTimeout, does NOT keep forms auth alive
//re-set the 10 minutes count
clearTimeout(timeout);
timeout= setTimeout(validationPrompt, 2 * 60 * 1000);
}
else {
var URL = "<%= Url.Content("~/Account/Logoff") %>"
window.location = URL;
}
}
function DoKeepAlive(){
var URL = "<%= Url.Content("~/Account/ValidateAuthentication") %>"
$.post(
//"../../Account/ValidateAuthentication",
URL,
function(data) {
}
);
}