응용 애플리케이션들이 윈도우즈 레지스트리에 특정 값을 저장하고서 실행시 참조하죠? ASP.NET에서는 해당 코드 맨 위에 설정해 줄 수도 있고 별도의 파일로 설정을 해줄 수도 있습니다.


웹 애플리케이션은 페이지 단위로 처리가 되기 때문에 각 페이지 마다 설정해주어야 할 것들이 있는데 이때는 각 소스 코드 맨 위에 Page Syntax에서 설정하면 됩니다. 그리고 사이트 전반이나 특정 디렉토리안의 파일들에 해당하는 설정을 해야할 경우에는 Web.config 파일에 하면 됩니다. Application의 시작과 종료 Session의 시작과 종료, 에러가 발생했을 경우 등에 대한 해야할 일들을 설정해주고 싶을 때에는 Global.asax 파일에서 해주면 됩니다.


Application이 시작 했다는 것은 사이트가 서비스 시작을 했을 때이고 종료는 서비스가 정지했을 때입니다. 그리고 Session이 시작 했다는 것은 접속자가 사이트에 들어왔을 때이고 종료는 접속자가 사이트를 떠났을 때입니다.

우선 여기서는 Page Syntax 에 대해서 알아보고 나머지 Web.config와 Global.asax 에 대해서는 다음..그리고 다다음 강좌에 이어서 하겠슴다...

윈도우즈 프로그래밍에서는 일반적으로 폼 단위의 개발을 하지만 웹 프로그래밍에서는 페이지 단위로 작업을 합니다. 사실 "웹페이지 == 웹폼" 이라고 생각하시면 되니깐 결국 윈도우즈나 웹이나 폼 단위죠?
참, 여기서 주의할 점은 한 개의 웹페이지에 두 개 이상의 Form을 넣을 수가 없습니다. 기존 ASP에서는 여러개의 Form을 넣을 수 있었는데 달라진 점이니깐 명심하세요.


이렇게 페이지(웹 폼)에 대한 설정을 할 때 Page Syntax를 페이지 맨 위에 적어주면 되는데 몇가지 파트로 구분을 할 수가 있습니다. Page 명령, Control 명령, Import, Register, Assembly, OutputCache 등입니다. 이들 중에서 자주 사용되는 것들 위주로 알아보겠습니다.


● Page 명령

Page 명령에는 페이지가 컴파일러에 의해 컴파일이 될 때 참조되는 속성값을 설정한다.


  ...%@Page Language=“C#” ContentType=“text/xml”%

 

Page 명령을 설정하기 위해서는 앞에 @Page 접두어를 붙여줍니다. 그 뒤에는 속성과 그 값으로 쌍이 이루어져 있습니다. Language라는 속성의 값은 “C#”으로 설정했고, ContentType 속성의 값은 “text/xml”로 했습니다. 이런 식으로 다른 속성도 설정을 해주면 됩니다.
 

  ...AspCompat=[ true | false ]

AspCompat 속성은 “true” 또는 “false”로 줄 수가 있습니다. 기본값은 “false”이구요. 따라서설정을 해주지 않으면 “false”로 컴파일 한다는 말입니다. COM+ 콤포넌트를 페이지에 포함할 경우 “true”로 설정을 해 주어야 합니다. 반대로 “false”로 설정하면 ActiveX DLL이 제대로 작동하지 않습니다. ActiveX DLL 넣고 잘 안 될 때는 이 속성을 확인해 주세요.


  ...Buffer=[ true | false ]


HTTP 응답 버퍼링을 사용할 것인지에 대한 설정입니다. 기본 값은 “true” 입니다.

  ...ErrorPage=[ URL ]

요청한 페이지를 보여주려고 할 때 에러가 발생하면 에러 메시지 대신 보여줄 페이지를 설정합니다. 사이트내의 페이지를 이동중에 에러가 발생했을 때 웹 브라우저의 무식한 에러 메시지를 보여주는 것보다 이쁘게 꾸민 자체 에러페이지를 표시해주면 사이트에 대한 신뢰도가 높아지겠죠???


  ...Inherits=[ namespace.class ]


상속 받을 클래스명을 네임스페이스와 함께 씁니다. 이 부분은 지금 페이지와 매칭이 되는 코드 비하인드의 네임스페이스명과 클래스명을 적어줍니다.

☞ 팁
다음처럼 Trace 속성과 Debug 속성을 “true”로 설정해주면 웹 애플리케이션 개발시 편리한 점이 많습니다. 아주 상세한 정보를 보여주죠....


  ...<%Page Trace=“true” Debug=“true”%>


● Control 명령

ASP.NET에서는 기본적으로 제공되는 Web Control과 Html Control 이외에도 개발자가 직접 Control을 만들어 사용할 수 있게 제공한다. Page 명령이 페이지의 속성을 설정했다면 Control 명령은 User Control의 설정을 다룬다. Control 명령의 대부분의 속성은 Page 명령과 동일하다. 일반 웹폼일 경우는 Page를 사용하고 개발자가 직접 User Control을 만들경우에는 Control명령을 사용하면 된다.


  ...<%@Control Language=“C” ContentType=“text/xml”%>

● Import 명령

웹폼이 아니라 윈도우즈 응용 애플리케이션을 만들 때 코드 맨 위에 using 이라는 키워드를 이용해서 네임스페이스를 지정해주었다. ASP.NET에서는 using 키워드를 사용하지 않고 Import 명령을 사용한다.


  ...<%@Import Namespace=“System.Data”%>
  ...<%@Import Namespace=“System.Data.SqlClient”%>


● Register 명령

User Control을 만들 때는 Control 명령을 사용한다고 했다. 그렇게 만든 User Control을 웹폼에 넣을 때는 Register 명령을 사용한다.


  ...<%@Register Tagprefix=“tagprefix” Tagname=“tagname” Src=“filename”%>


Register 명령은 기본적으로 위와 같은 형태로 사용을 합니다. Tageprefix는 웹 페이지에 사용되는 태그에 접두사를 부여해서 User Control을 식별합니다.


ASP.NET 에서 기본적으로 제공하는 컨트롤을 사용할 경우에는 <asp:Button /> 처럼 asp라는 접두사가 붙습니다. 하지만 개발자가 직접 제작한 User Control일 경우에는 임의의 이름을 붙여서 식별을 하게 됩니다. Tagname은 User Control 파일의 코드 비하인드의 클래스명이 옵니다. Src속성은 User Control의 실제 파일명을 지정해줍니다.
여기서는 이정도로만 알고 User Control 파트에서 좀 더 자세히 알아보고 실제로 만들어 웹 폼에 추가하는 것을 해보도록 하겠습니다.


자료출처 : http://inchan.com/

+ Recent posts