ASP.NET MVC3 HttpPost + jquery ajax多线程?

时间:2012-12-08 13:46:39

标签: ajax

例如,有一个Register按钮,当单击该按钮时,它会向Action Register发送ajax请求以进行数据库处理,然后发送验证邮件。

$.ajax({
    url: "/Register",
    type: 'POST',
    error: function(xhr) {},
    success: function(data) {
       //after success, change the button color                   
    }
});

[HttpPost]
public ActionResult Register() { 
     //database processing
     ......
    //send email 
    //(this step takes long period of time, the button wait for long time to change the color, how can i solve this issue?)
}

1 个答案:

答案 0 :(得分:0)

当您从网页调用长处理操作时,您不想等待它完成。所以你要做的是将长处理任务添加到队列并返回。您可以使用类似MSMQ的东西,或者您可以自己构建简单的队列机制,即在表中插入要发送的电子邮件的记录,然后让其他进程查看该表并发送电子邮件...