0

mvc の gmail のようなブラウザで開いているすべてのウィンドウからユーザーをログオフすることは可能ですか? 私は現在、javascript で Ajax 応答を使用して、15 秒ごとにページのリロードを呼び出していますが、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";
            }
        }
4

1 に答える 1