如何解决我如何才能使ASP.NET MVC 3中的异步结果?
| 我想要JsonResult中的东西,它们在从浏览器[客户端]得到请求后做出响应,并在完成任务之前迅速做出响应。 意味着请求在任务完成之前先做出响应,然后运行一个线程来完成任务。 任何人都可以向我展示在asp.net MVC中执行此操作的代码解决方法
AJAX是否足以满足您的需求?
$.getJSON(\'@Url.Action(\"Foo\")\',function(result) {
// once the task completes this callback will be executed
});
// flow continues to execute normally
在服务器端:
public ActionResult Foo()
{
// TODO: some task
return Json(someResult,JsonRequestBehavior.AllowGet);
}
如果此任务是I / O密集型的,则可以利用异步控制器和I / O完成端口。
如果您遇到了“一劳永逸”的情况,则可以简单地启动任务并立即从控制器中返回:
public ActionResult StartTask()
{
// Fire the task
Task.Factory.StartNew(() =>
{
// TODO: the task goes here
// Remark: Ensure you handle exceptions
});
// return immediately
return Json(
new { Message = \"Task started\" },JsonRequestBehavior.AllowGet
);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。