본문 바로가기

Programming/.NET

[ASP.NET] 폴더 구조

1. App_Code

클래스나 데이터집합관련 파일등을 담아두는 폴더입니다. 해당 폴더를 생성하려면 프로젝트에서 마우스를 오른쪽 클릭하여 그림 1-1과 같이 Add -> Add ASP.NET Folder -> App_Code 를 선택하면 됩니다.

<그림 1-1>

App_Code 안의 클래스는 하나의 단일 어셈블리로 컴파일됩니다. 이 말은 프로젝트 전체가 C#언어로 되어 있다 하더라도 App_Code안에 다른언어(예를 들면 VB.NET과 같은)의 관련 클래스파일을 담아 해당 프로젝트내에서 사용하는 것이 가능하다는 얘기가 됩니다.

다만 이 방법은 웹사이트 프로젝트가 Web Site 형태로 생성되어야 합니다. Visual Studio에서 Web 프로젝트를 생성할때 File -> New -> Project 를 통하여 Web Application을 생성하는 방법과 File -> Web Site를 통해 프로젝트를 생성하는 두가지 경로가 있는데 후자로 선택된 경우여야 합니다. 

Web Site를 C# 언어기반으로 생성하고 App_Code 폴더를 추가한 다음 해당 폴더에 마우스 오른쪽 버튼을 눌러 Add -> Add New Item을 선택합니다.

<그림 1-2>

Add New Item에서 좌측 Visual Basic를 선택하고 그림 1-2와 같이 Class를 추가합니다. 그리고 해당 파일을 열어 코드 1-1과 같이 편집하십시오.
Imports Microsoft.VisualBasic

Public Class Class1
    Public Shared Function test() As String
        Return "vb class test"
    End Function
End Class
<코드 1-1>

위와 같이 하는것 만으로도 코드 1-2처럼 전혀 다른 언어의 클래스를 활용할 수 있게 됩니다.
Response.Write(Class1.test());
<코드 1-2>

다만 App_Code에는 서로 다른언어의 클래스를 한곳에 같이 섞을 수는 없습니다. 이걸 가능하게 하려면 App_Code 폴더 하위에 그림 1-3처럼 별개의 폴더를 생성하고 각 폴더에 해당 언어끼리의 클래스파일을 포함시킨뒤

<그림 1-3>

프로젝트의 Web.config 파일을 수정(코드 1-3 compilation 하위 codeSubDirectories부분 추가) 하여 분리한 각 폴더별로 해당 언어에 맞게 컴파일되어야 함을 알려주어야 합니다.
<system.web>
  <compilation debug="true" targetFramework="4.0">
    <codeSubDirectories>
      <add directoryName="CS" />
      <add directoryName="VB" />
    </codeSubDirectories>
  </compilation>
</system.web>
<코드 1-3>

2. App_Data

이 폴더에는 주로 개인화를 위한 mdf나 mdb, xml등 데이터 저장소 역활을 하는 대부분의 파일이 들어갑니다. 특히 개인화에서 mdf를 생성하고 데이터를 읽고 쓰는 동작을 하게 되므로 Web Application 은 App_Data에 접근할 수 있는 권한이 기본적으로 주어지게 됩니다.

3. App_Themes

사이트에 테마를 사용할 경우 .skin, css, image등 테마구성을 위한 다양한 파일이 들어갑니다.

4. App_GlobalResources

사이트가 표시될때 클라이언의 각 Culture 설정에 따라 다른 내용이 보여져야 하는 경우 해당 내용을 담는 폴더입니다.

5. App_LocalResources

App_GlobalResources 폴더는 사이트 전체에 영향을 미치는데 반해 App_LocalResources 는 특정 페이지에만 영향을 줘야 하는 경우 사용합니다.

6. App_WebReferences

사이트에서 사용하는 웹 서비스등의 데이터가 담기는 폴더입니다.

7. App_Browsers

사이트가 표시되는 브라우저를 식별하고 특정 기능에 대응하기 위한 .browser 파일 저장 폴더입니다. 본래 이 파일들은 C:\Windows\Microsoft.NET\Framework\v4.xxx\Config\Browsers 에도 존재하는데(전역적) 필요한 경우 해당 파일을 이 폴더로 복사해와 편집할 수 있습니다.

'Programming > .NET' 카테고리의 다른 글

[Visual Studio] 클래스 디자이너  (0) 2013.12.22
[ASP.NET] 프로젝트(Project) 위치지정  (0) 2013.12.16
[ASP.NET] 폴더 구조  (1) 2013.12.12
[ASP.NET] Label  (0) 2013.12.11
[ASP.NET] 빌드공급자  (0) 2013.12.10
[ASP.NET] 페이지 구조  (0) 2013.12.09