컨트롤러에서 Async/Await을 사용할 때 AsyncController에서 상속해야합니까, 아니면 컨트롤러를 사용하면 실제로 비동기가되지 않습니까? Asp.net 웹 API는 어떻습니까? 나는 AsyncApiController가 있다고 생각하지 않는다. 현재 컨트롤러와 그 작업을 계승하고 있지만 실제로는 비동기입니까?비동기/기다리고 & AsyncController?
4
A
답변
6
MVC 4의 AsyncController
클래스의 XML 주석이 ASP.NET MVC 3
자체가 비어있는 클래스와 이전 버전과의 호환성을 위해 제공
을 말한다.
즉, 필요하지 않습니다.
+0
정보를 제공해 주셔서 감사합니다. – coding4fun
0
웹 API 측면에서 비동기 컨트롤러 기본 클래스가 필요하지 않습니다. 당신이해야 할 일은 당신의 반환 값을 하나의 Task에 랩핑하는 것입니다. 당신이 기다리고-비동기 혜택을 누릴 수 있습니다 닷넷 4.5 예를 들어
, 또한
/// <summary>
/// Assuming this function start a long run IO task
/// </summary>
public Task<string> WorkAsync(int input)
{
return Task.Factory.StartNew(() =>
{
// heavy duty here ...
return "result";
}
);
}
// GET api/values/5
public Task<string> Get(int id)
{
return WorkAsync(id).ContinueWith(
task =>
{
// disclaimer: this is not the perfect way to process incomplete task
if (task.IsCompleted)
{
return string.Format("{0}-{1}", task.Result, id);
}
else
{
throw new InvalidOperationException("not completed");
}
});
}
는 훨씬 더 간단한 코드를 작성하는 : // WWW :
/// <summary>
/// Assuming this function start a long run IO task
/// </summary>
public Task<string> WorkAsync(int input)
{
return Task.Factory.StartNew(() =>
{
// heavy duty here ...
return "result";
}
);
}
// GET api/values/5
public async Task<string> Get(int id)
{
var retval = await WorkAsync(id);
return string.Format("{0}-{1}", retval, id);
}
관련 문제
- 1. AsyncController OutputCache
- 2. 요청 수량을 처리하는 AsyncController
- 3. ASP.NET MVC AsyncController 예외 처리
- 4. 백본 js Asp.net Mvc AsyncController
- 5. ASP.NET MVC AsyncController with NHibernate
- 6. ASP.NET MVC AsyncController 및 IO 바인딩 요청
- 7. ASP.NET MVC AsyncController 대기 중 탐색 계속
- 8. ASP.net MVC Futures AsyncController : 서버 유효성 검사
- 9. AsyncController 콜백이 호출되지 않고 호출하는 방법은 무엇입니까?
- 10. MVC3 AsyncController - 동기 입출력 작업을 수행하십시오.
- 11. MVC3 AsyncController - 하트 비트 데이터를 클라이언트에 보낼 수 있습니까?
- 12. MVC AsyncController Thread가 ASP.NET 풀 또는 I/O 완료 포트에서 실행되는지 확인하는 방법
- 13. 모든 컨트롤러가 AsyncController에서 상속받는 것이 좋습니다.
- 14. MVC를 사용하는 방법 AsyncControl에서 파일을 다운로드 하시겠습니까?
- 15. 언제 ASP.NET MVC에서 비동기 컨트롤러를 사용해야합니까?
- 16. Asp.net MVC - Asynch 컨트롤러 내 기본 컨트롤러에서 기능을 얻으십시오
- 17. ASP.NET MVC 2 비동기 컨트롤러에서 Action Filters를 비동기 적으로 실행합니까?
- 18. 멀티 스레딩 디자인 상담자 여기에 여행 관련 웹 사이트에 노력하고 있어요 2
- 19. MVC future async operations
- 20. ASP.NET MVC 내에서 WebClient를 비동기 적으로 사용 하시겠습니까?
- 21. C# newb - 공용 인터페이스에서 데이터를 사용하려면 어떻게합니까?
- 22. ASP.NET MVC의 비동기 컨트롤러
- 23. 했거나 JQuery와 .load() 내 영문 페이지 중 하나에서
- 24. 자료 복잡성
- 25. NServicebus에 대한 Javascript messagehandler
- 26. URL을 매개 변수로 컨트롤러 작업에 전달
- 27. MVC3 응용 프로그램에서 비동기 처리기에 대한 종속성 삽입 객체 유지
- 28. Visual Studio 11 Beta 비동기 작업 메서드가 멈추는 것을 막는 방법
- 29. 성 MonoRail with asynchronous action보기 렌더링 예외
- 30. Autofac을 사용하여 ChannelFactory를 통해 끝점을 등록하는 WCF 계약 불일치 오류
내 튜토리얼 HTTP를 참조하십시오. asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4 – RickAndMSFT