2015-01-08 4 views
0

다음 작업을 수행하는 올바른 방법을 이해하려고합니다.MVC 4에서 장시간 작동

사용자 입력 후 긴 작업 (데이터베이스 삽입 약 10000 행)이 있습니다. 작업을 진행 중이거나 진행 상황을 표시 할 필요가 없다고 말하는 사용자보기를 사용자에게 반환해야하지만 사용자를 위해 UI를 고정 할 수는 없습니다.

public class AuthController : SurfaceController 
    { 
     public ActionResult LongOpeartion(UserInput model) 
      { 
       // Long async operation goes here 
       return View(); 
      } 

    } 

사람은 작업, 또는 뭔가 비동기 발사의 올바른 방법을 제안 해주십시오 수 있습니다. 감사합니다. .

+0

어느 쪽이든 당신은 작업을 시작하고, 바로 를 반환, 비동기 컨트롤러이 안부에 도움이 될 것입니다 생각하거나 있음 전화 아약스 사용. – gimpycpu

+0

Ajax는 사용자가이 컨트롤러를 CRM API의 콜백에서 수신하므로 옵션이 아닙니다. – StringBuilder

+0

이 링크는 도움이 될 http://www.asp.net/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4 –

답변

1

아약스를 사용할 수 없기 때문에 지금 당장 답장을 보내고 싶습니다. 이것이 적절할 것이라고 생각합니다.

public class AuthController : SurfaceController 
{ 
    public ActionResult LongOpeartion(UserInput model) 
     { 
     Task t = Task.Run(() => { 
      // Long async operation goes here 
      }); 

      return View(); 
     } 

} 
관련 문제