2012. 3. 17. 12:18

일반적인 프로그램에는 '진입점'이라는 것이 있습니다.

(보통 메인(main)이라고 많이 부릅니다.)
프로그램이 실행되면 맨 처음 실행되는 것들을 말이죠.

그런데 생각해보면 웹응용프로그램(WebForm)은 어디가 진입점이지?

 

 

'시작 페이지로 설정'은 무슨 의미인가?

오른쪽 클릭해서 지정하는 시작페이지는

단순히 주소줄에 해당 파일명을 자동으로 입력해주는 효과일 뿐 진입점은 아닙니다.
주소줄에 직접 다른 파일명을 넣으면 거기가 시작 페이지가 되니까요.

 

이것은 웹 환경의 특성상 각 페이지는 접속했을 때만 유지되기 때문에 그렇습니다.

 

 

진짜 시작 지점

그렇다면 웹 응용프로그램은 어디가 진입점이냐?
어렵게 생각할 거 없이 웹서버에 올라가는 시점입니다.

그럼 그 시점은 어디냐?
'Application_Start'
입니다.

이 내용은 Global.asax파일에 있습니다.

그런데....
만약 Global.asax파일이 없다면?

해당 프로젝트

오른쪽 클릭 > 추가 > 새 항목 > 전역 응용 프로그램클래스
를 추가해 주면 됩니다.

이 파일에는 웹서버에서 동작해야 할 내용들이 들어가 있습니다.
사용자의 세션이 시작되거나(Session_Start) 끝났을 때(Session_End) 하는 동작들이 들어 있습니다.

 

 

마무리

웹에서는 브라우저 기준으로 동작을 하게 되면 예상치 못한 동작들이 나오기 때문에 'Global.asax'를 활용해야 할 경우가 꽤 있습니다.
예를 들어 중복 로그인을 막으려면 'Session_End'를 활용하면 쉽게 처리가 됩니다.