[英]how i can make asynchronus result in 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
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.