サーバー上の現在のプロセスをクライアント側に表示しようとしています。
これを行うには、セッション レベルで文字列を定義し、プロセス サーバー プロセッサごとに次のように更新します。
sessionStatus = "Loading entities from DB";
また
sessionStatus = "Validates the user information";
私は次のようにajaxとJsonを使用しています:
サーバー側:
[OutputCache(NoStore = true, Location = OutPutCscheLocation.None, Duration = 0)]
public JsonResult GetStatus()
{
return Json(new {status = sessionStatus}, JsonRequestBehavior.AllowGet)
}
クライアント側:
setInterval('displayStatus()', 50);
function displayStatus(){
var url = '@(Url.Action("GetStatus"))';
$.ajax({
url: url,
dataType: "json",
async: false,
success: function(result) {
docunent.getElementById('statusText').innerHTML = result.status;
}
});
}
それが、サーバープロセスが保持する毎秒を期待する方法です。
しかし問題は、最初のアクションしか表示されず、サーバーがすべてのアクションを実行することです。
そして最後に、最後のアクションはほんの一瞬しか見えません。
つまり、彼はサーバー上でのみすべてのプロセスをビジー状態にしてから、クライアントに直面します。
その過程でサーバー側がクライアント上でも操作を継続できる方法を誰か教えてください。サーバー上で何が起こっているかをリアルタイムで確認できますか?
ありがとうございました
リファエル