2011-02-08 5 views
7

ASP.NET MVC 동기 컨트롤러 (Controller)를 비동기 컨트롤러 (AsyncController)로 변경하는 것은 쉬운 일이 아닌 것처럼 보이지만 언제해야합니까?언제 ASP.NET MVC에서 비동기 컨트롤러를 사용해야합니까?

모든 컨트롤러를 동작과 관계없이 비동기로 설정해야합니까? 비동기 컨트롤러에서 사용되는 경우 개선 될 작업의 예는 무엇입니까?

가장 간단한 예를 들자면 정적 HTML 페이지. 따라서 가장 기본적인 컨트롤러는 Index 액션에서 View을 반환합니다. 이 컨트롤러를 비동기식 (예 : IndexCompleted)으로 변경해야합니까?

+2

가능한 복제본 [ASP.NET MVC4 비동기 컨트롤러 - 왜 사용합니까?] (http://stackoverflow.com/questions/15190112/asp-net-mvc4-async-controller-why-to-use) – Luiso

+0

@ Luiso 내 질문에 2 년 전에 물었다. –

답변

8

나는 최근에 article을 읽었습니다. AsyncController가 무엇을 의미하는지 요약하고 있다고 생각합니다.

6

나는 이것이 오래된 질문이지만 나는 대답을 얻으려고 애썼다. 그래서 내 두 센트를 heres.

우리가 열이 없다면 나는 약을 먹어야한다고 말하는 것과 같습니다. 웹 서버에 스레드 부족이 표시되면 Asynch 컨트롤러를 사용해야합니다. IIS 웹 서버는 스레드 풀을 유지 관리합니다. 따라서 요청이 들어 오면 스레드 풀에서 스레드를 가져옵니다. 주어진 순간에 풀의 모든 스레드가 사용되고 요청이 들어 오면 해당 요청은 대기 모드로 전환됩니다. 이 상황을 "스레드 기아"라고합니다. 또한이 급부상, 난,이 스레드를 활용

http://www.youtube.com/watch?v=wvg13n5V0V0

Web Server Thread Use Diagram

당신이 비동기로 컨트롤러를 만들

같은 MVC 스레드 기아 모양을 보여준 곳이 YouTube 동영상을 볼 수 있습니다 작업을 수행하고 해당 스레드를 다시 스레드 풀로 이동하여 MVC 응용 프로그램으로 들어오는 다른 요청에 활용할 수 있습니다. 작업이 끝나면 스레드 풀에서 스레드를 끌어와보기를 표시합니다.

관련 문제