我有一个页面,用户单击按钮在计算机上安装sql数据库。单击按钮时调用Install方法:
//mvc conroller
[HttpPost]
public JsonResult Install(InstallModel model)
{
//expensive operation
}
//index.cshtml
@using (Ajax.BeginForm("Install", "Install", new AjaxOptions
{
HttpMethod = "POST",
OnBegin = "onStart",
}))
onStart: function (context) {
window.setInterval(checkProgress, 1500);
}
function checkProgress() {
$.ajax({...
onStart函数每1.5秒发送一次异步ajax请求以检查安装进度。 当Install方法仍在运行时,我的页面是否仍然可以发送ajax请求?请求如何处理.net?每个请求的新线程?如果为每个ajax请求创建了新的Worker线程,那么运行Install async的好处是什么? 顺便说一下,安装状态存储在内存缓存中。 ajax请求基本上调用一个方法,该方法查看缓存以找出安装的最新情况,并将响应发送回json中的页面。