2013-10-24 1 views
9

MvcApplication이라는 사용자 정의 클래스에서 확장되는 global.asax이 있으며 System.Web.HttpApplication에서 확장됩니다. 그것의 생성자에서System.Web.HttpApplication이 여러 번 프로세스마다 초기화됩니다.

, 그것은 아래에 따라 응용 프로그램의 시작을 기록합니다

I가 로그 파일에 찾아 갔을 때, 이것은 단지 한 번 응용 프로그램의 시작마다, 시대의 많은 호출 할 것으로 보인다. Application_Start에 다른 로그 항목을 넣었는데 한 번만 호출되는 것처럼 보입니다. 요청 당 Global.asax 클래스가 인스턴스화 되었습니까? 아니면 응용 프로그램 당 한 번만 더 자주 발생합니까?

답변

30

많은 양의 HttpAppliction 개체가 만들어지고 asp.net 응용 프로그램의 수명주기에서 요청을 처리하기 위해 풀링됩니다. 예 Application_Start는 한 번만 호출됩니다.

는 참조 http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle

발췌 : 모든 핵심 ASP.NET 객체가 생성되면, '같이 HttpApplication'객체가 요청을 처리하기 위해 작성됩니다. 시스템에 'global.asax'파일이있는 경우 'global.asax'파일의 오브젝트가 작성됩니다. global.asax 파일은 'HttpApplication'클래스에서 상속받습니다. 참고 : ASP.NET 페이지가 처음으로 응용 프로그램에 연결되면 'HttpApplication'의 새 인스턴스가 만들어집니다. 성능을 최대화하기 위해 HttpApplication 인스턴스가 여러 요청에 대해 재사용 될 수 있습니다.

enter image description here

+0

감사합니다. 어떻게 든 나는 항상 요청 당 하나의 HttpApplication이라고 생각했다. 이것을 잘 알고있다. –

+0

당신은 오신 것을 환영합니다! – Saranya

+0

응용 프로그램의 흐름을 이해하는 훌륭한 다이어그램 – umer

관련 문제