我正在尝试在客户端显示服务器上的当前进程。
为此,我在会话级别定义了字符串,并且对于每个进程服务器处理器,它都会更新它,如下所示:
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;
}
});
}
这就是我希望看到的每一秒,这是服务器进程所持有的。
但问题是我只看到第一个动作,然后服务器执行他所有的动作,
最后我看到最后一个动作只在一瞬间。
我的意思是他只忙于服务器上的所有进程,然后才面对客户端。
有人可以教我如何在这个过程中服务器端即使在客户端也可以继续操作,以便我可以实时看到服务器上发生了什么?
谢谢
雷菲尔