2014-04-23 3 views
0

정확히 어떤 메서드가 뷰를 생성하는지 이해하려고합니까? 우리가 http 보낼 때 내가 이해 한 것처럼 - 행동의 다음 후속 실행되는 서버에 요청을 :ASP.NET MVC 요청 처리 및 응답

  1. 라우터가 만드는 ControllerContext 클래스 인스턴스
  2. 라우터는 해당 컨트롤러 클래스의 인스턴스를 생성한다
  3. 라우터가 해당 컨트롤러의 작업을 호출합니다.
  4. 조치 메소드가 actResultActionResult을 리턴하면 actResult.ExecuteResult(ControllerContext context)이 호출됩니다.

질문 : 요청 처리에 대한 이해가 사실입니까? 그리고 정확하게 응답 텍스트를 생성하는 것이 무엇인지 이해하지 못합니까? 어떤 방법으로 응답 본문을 생성합니까?

+0

이 정보가 도움이 필요하십니까? 이 사용 사례를 지정하면 더 잘 도와 드리거나 대안을 제안 할 수 있습니다. 아니면 당신의 관심사에 맞습니까? – ChrFin

+0

@chrfin ASP.NET MVC는 어떻게 작동하는지 알고 싶습니다.특히 렌더링보기가 누구인지 이해하지 못합니다. 너 나 좀 도와 줄 수있어? –

+0

"ASP.NET MVC가 어떻게 작동하는지 이해하고 싶습니다."라는 질문은 [so]에 너무 광범위합니다. –

답변

0

자세한 내용은 HERE 또는 HERE입니다.

특정 질문을 해결하려면 :
이 동작은 결과를 반환합니다. 이 결과가 뷰 결과이면 해당 뷰 엔진이 선택되고이 엔진이 뷰를 렌더링합니다. 첫 링크에서

상세 : 액션에있어서, 사용자 입력을 수신

보기 결과는 적절한 응답 데이터를 준비하고 그 결과를 타입을 반환하여 결과를 행한다. 결과 유형은 ViewResult, RedirectToRouteResult, RedirectResult, ContentResult, JsonResult, FileResult 및 EmptyResult가 될 수 있습니다.

보기 엔진

보기 결과의 실행의 첫 번째 단계는 결과보기를 렌더링 할 수있는 적절한보기 엔진의 선택을 포함한다. 은 뷰 엔진의 IViewEngine 인터페이스에서 처리합니다. 기본적으로 Asp.Net MVC는 WebForm 및 Razor 뷰 엔진을 사용합니다.

protected void Application_Start() 
{ 
//Remove All View Engine including Webform and Razor 
ViewEngines.Engines.Clear(); 
//Register Your Custom View Engine 
ViewEngines.Engines.Add(new CustomViewEngine()); 
//Other code is removed for clarity 
} 

보기

의 조치 방법은 텍스트 문자열을 반환 할 수 있습니다, 바이너리를 아래 을 같이 당신은 또한 당신의 Asp.Net MVC 응용 프로그램에 사용자 정의보기 엔진을 등록 할 수 있습니다 파일 또는 Json 형식의 데이터. 가장 중요한 작업 결과는 현재보기 엔진을 사용하여 브라우저에 HTML 페이지를 렌더링하고 반환하는 ViewResult입니다.

+0

답변 해 주셔서 감사합니다. 그러나 나는 의심 스럽다 :'ActionResult' 클래스의'ExecuteResult (ControllerContext context)'메소드의 목적은 무엇입니까? –

+0

죄송 합니다만, 그 특정 질문에 대답 할 수 없습니다 ... – ChrFin