2010-11-24 7 views
15

빈 ASP.NET 웹 응용 프로그램을 만들었습니다. 진입 점은 어디 있습니까?ASP.NET 진입 점은 무엇입니까?

"Default.aspx"가 기본 템플릿 인 것처럼 보입니다. 내가 생각하는 "Site.Master"는 레이아웃 파일 역할을합니다. "Global.asax"는 이벤트 처리를위한 몇 가지 메소드 스텁을 제공합니다. 그런 다음 "Web.config"는 DB 연결 문자열 및 일부 인증 항목과 같은 사이트 별 설정을 갖고있는 것으로 보입니다.

하지만 "경로"또는 "Default.aspx"가 기본적으로 호출되어야하는 곳은 어디에도 없으며 이벤트 처리에는 "Global.asax"를 사용해야합니다. 이 물건들은 어디에서 지정 됐어? ASP의 핵심으로 구워 졌습니까? 하나의 C# 메서드를 통해 모든 요청을 필터링 한 다음 내가 원하는 방식으로 위임 할 수 있습니까? 그리고 일종의 HTTP 응답을 반환합니까?

+0

ASP.NET 웹 응용 프로그램이 시작될 때 (첫 번째 요청을 받으면) 실행되는 첫 번째 코드 줄은 무엇입니까? 아니면 임의의 요청이 사이트에 요청되었을 때 어떤 코드가 실행되는지 묻고 있습니까? – Matt

+0

I think * 새 요청이 들어 왔을 때 첫 번째 코드 줄을 알고 싶었습니다. ASP.NET은 ASP.NET이 PHP 응용 프로그램과 다르게 작동한다는 점을 잊어 버렸을 수 있습니다. PHP는 모든 요청에 ​​대해 모든 것을 실행합니다. – mpen

+2

로드 중일 때만 ASP.NET 응용 프로그램에서 일어나는 일들과 각 요청에서 발생하는 일들이 있습니다. 이 링크는 ASP.NET Webforms 응용 프로그램과 ASP.NET MVC 응용 프로그램의 페이지 수명주기에서 각각 일어나는 일을 다루고 있습니다. -> http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100). aspx, http://www.asp.net/mvc/tutorials/mvc-5/lifecycle-of-an-aspnet-mvc-5-application – Matt

답변

8

는 내가 새로운 요청이 들어 오면 당한다 코드의 첫 번째 줄을 알고 싶어 생각합니다.

HttpApplication 클래스는 응용 프로그램의 첫 번째 코드 행이 포함되어 있습니다. 생성자는 응용 프로그램의 시작점입니다. From the docs :

핵심 응용 프로그램 개체를 모두 초기화 한 후에는 HttpApplication 클래스의 인스턴스를 만들어 응용 프로그램을 시작합니다.

새로운 요청에 대해 첫 번째 코드 행을 기록하는 두 가지 표준 방법이 있습니다. 두 파일 모두 Global.asax 파일을 만들고 해당 이벤트를 처리합니다.

응용 프로그램 이벤트 또는 메서드를 처리하기 위해 Global이라는 파일을 만들 수 있습니다.asax는 응용 프로그램의 루트 디렉토리에 있습니다.

Application_Start 및/또는 Application_BeginRequest을 처리 할 수 ​​있습니다.

  • Application_Start은 응용 프로그램에 대한 첫 번째 요청에 부딪히는 코드입니다. 응용 프로그램을 다시 시작할 때마다 다음 요청이 여기에 입력됩니다. 응용 프로그램 시작 당 입니다.
  • Application_BeginRequest은 응용 프로그램에 대한 각 요청에서 적중되는 코드입니다. 요청 당 입니다.

물론이 모든 사항은 ASP.NET 코어로 변경됩니다.

6

진입 점에 대한 개념은 없습니다. 작동 방식은 사용자가 HTTP 요청을 URL로 보내고이 URL이 사용자에게 응답을 보내는 것입니다. 프로젝트의 속성에서 F5을 누르면 Visual Studio에서 시작할 URL을 구성 할 수 있습니다. 기본적으로 현재 편집중인 파일이 시작되기 때문입니다. 기본적으로

alt text

+0

좋은 답변입니다! 나는 내가 원하는 솔루션 *을 얻기 위해 다른 질문을해야만한다고 생각한다. – mpen

1

파일이라고 : 당신은 그들이 구성이 순서대로 기본 문서를로드 할 모든 페이지를 지정하지 않은 경우

는 또한 웹 서버는 기본 문서, 즉의 개념을 가지고 IIS에서 지정됩니다. 일반적으로 default.aspx입니다.

+0

오케이 .... F5 키를 눌러 VS를 실행하는 개발 서버는 어떻습니까? 프로젝트 설정이 어딘가에 있습니까? – mpen

+0

아니요, 해당 서버는 default.aspx를 기본 페이지로 사용 합니다만, Visual Studio에서 시작 페이지를 마우스 오른쪽 버튼으로 클릭하고 시작 페이지로 선택할 수 있습니다. 시작 페이지는 F5 키를 누를 때로드 된 페이지입니다. – Elph

2

기본적으로 ASP.NET은 실제 파일 경로를 사용하여 표시 할 페이지를 결정합니다. Default.aspx는 프로젝트의 시작 파일이거나 IIS의 루트 폴더에 대한 기본 문서로 매핑되기 때문에 기본값입니다.

사용자 지정 라우팅을 원하면 선택적으로 프레임 워크에 추가 된 라우팅 구성 요소를 ASP.NET MVC의 일부로 사용할 수 있습니다. 이 사용 방법에 대한 지침이 있습니다 here

관련 문제