ASP.NET MVC 컨트롤러의 수명은 얼마입니까?
MVC 응용 프로그램을 개발하는 중이며 컨트롤러 클래스의 수명은 어떻게됩니까?
언제 생성 되나요? 단일 컨트롤러의 인스턴스는 몇 개입니까? 지역 변수의 의미는 무엇입니까? 언제 파괴 되나요?
나는 인터넷 어딘가에 좋은 링크가 있다고 확신하지만 내 Google-fu는 그것을 찾을 수 없습니다.
Stephen Walther는 MVC 프레임 워크에서 처리하는 요청의 수명주기에 대한 훌륭한 기사 를 보유하고 있습니다.
다음은 그의 기사 상단에서 발췌 한 것이며 각 단계를 자세히 설명합니다.
수명주기 단계 개요
ASP.NET MVC 웹 사이트에서 요청을 할 때 발생하는 5 가지 주요 단계가 있습니다.
1. RouteTable이 생성됩니다.
이 첫 번째 단계는 ASP.NET 응용 프로그램이 처음 시작될 때 한 번만 발생합니다. RouteTable은 URL을 핸들러에 매핑합니다.
2. UrlRoutingModule이 요청을 가로 챕니다.
이 두 번째 단계는 요청할 때마다 발생합니다. UrlRoutingModule은 모든 요청을 가로 채고 올바른 핸들러를 생성하고 실행합니다.
3. MvcHandler 실행
MvcHandler는 컨트롤러를 만들고 컨트롤러에 ControllerContext를 전달하고 컨트롤러를 실행합니다.
4. 컨트롤러 실행
컨트롤러는 실행할 컨트롤러 메소드를 결정하고 매개 변수 목록을 작성하며 메소드를 실행합니다.
5. RenderView 메서드가 호출됩니다.
일반적으로 컨트롤러 메서드는 RenderView ()를 호출하여 콘텐츠를 브라우저에 다시 렌더링합니다. Controller.RenderView () 메서드는 작업을 특정 ViewEngine에 위임합니다.
default를 변경하지 않는다고 가정하면 ControllerFactory
모든 요청에 대해 컨트롤러가 생성되고 요청이 완료된 후 "언젠가"가비지 수집됩니다.
간단히 말해, 인스턴스 변수에 대한 경쟁 조건에 대해 걱정할 필요가 없습니다 (물론 정적 변수에 대해서도 마찬가지입니다). 그렇긴하지만 더 깨끗한 코드를 위해 컨트롤러 작업을 재진입 상태로 유지하는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/2355139/what-is-the-lifetime-of-a-asp-net-mvc-controller
'Nice programing' 카테고리의 다른 글
JSON 구조 문서화를위한 구문 (0) | 2020.11.15 |
---|---|
AngularJS를 사용한 인증, REST Api WS를 사용한 세션 관리 및 보안 문제 (0) | 2020.11.15 |
시나트라 대 레일스 (0) | 2020.11.15 |
iframe src가로드에 실패하면 오류를 포착합니다. (0) | 2020.11.15 |
파일 입력 값을 동적으로 설정 (0) | 2020.11.15 |