是否有可能從mvc中的Gmail等瀏覽器中打開的所有窗口中註銷用戶。我目前正在使用JavaScript的Ajax響應每隔15秒在頁面中調用一次重新加載,但只是好奇地想知道是否有一些內置的mvc函數可以做到這一點。我的代碼如下,如果這是唯一的方法,即某些定時響應根據您的經驗,最佳定時器間隔是多少?如果在一個頁面上登錄,從所有頁面註銷用戶mvc
在我的共享佈局窗口
@if (User.Identity.IsAuthenticated)
{
<script type="text/javascript">
window.onload = function(){
setInterval(function() { loadchkDoc() }, 15000);
}
function loadchkDoc(){
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
xmlhttp.open("GET", "/Home/chkDoc", true);
xmlhttp.send();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var k = xmlhttp.responseText;
if (k == "gotologin") {
location.reload();
}
}
}
}
</script>
}
在我家的控制器
public string chkDoc()
{
if (User.Identity.IsAuthenticated)
{
return "authorized";
}
else
{
return "gotologin";
}
}
沒有內置的功能來做到這一點。您可以看看SignalR,作爲使用間隔計時器的替代方法。 – Rob
謝謝Robs我會看看它。 –