다음을 통해 공유


연습: 여러 프로그래밍 언어를 사용하여 웹 사이트 개발

업데이트: 2007년 11월

기본적으로 App_Code 폴더는 여러 프로그래밍 언어를 허용하지 않습니다. 그러나 Visual Basic 및 C# 같은 여러 프로그래밍 언어를 지원하도록 웹 응용 프로그램 구조와 구성 설정을 수정할 수 있습니다. 이렇게 하면 ASP.NET에서 각 언어별로 하나씩 여러 어셈블리를 만들 수 있습니다. 자세한 내용은 ASP.NET 웹 사이트의 공유 코드 폴더를 참조하십시오. 개발자들은 일반적으로 각기 독자적으로 작업을 진행하며 선호하는 프로그래밍 언어가 서로 다른 여러 개발 팀을 지원하기 위해 웹 응용 프로그램에 여러 프로그래밍 언어를 포함합니다.

이 연습에서는 ASP.NET 응용 프로그램에 여러 프로그래밍 언어를 추가하는 방법을 설명합니다.

웹 사이트 만들기

연습: Visual Web Developer에서 기본 웹 페이지 만들기를 완료하여 Visual Web Developer에서 웹 사이트를 이미 만들었으면 해당 웹 사이트를 사용하여 다음 단원으로 이동합니다. 그렇지 않으면, 다음 단계를 따라 새 웹 사이트와 페이지를 만듭니다.

파일 시스템 웹 사이트를 만들려면

  1. Visual Web Developer를 엽니다.

  2. 파일 메뉴에서 새로 만들기를 클릭한 다음 웹 사이트를 클릭합니다. Visual Web Developer Express를 사용하는 경우 파일 메뉴에서 새웹 사이트를 클릭합니다.

    새 웹 사이트 대화 상자가 나타납니다.

  3. Visual Studio에 설치되어 있는 템플릿에서 ASP.NET 웹 사이트를 클릭합니다.

  4. 첫 번째 위치 상자에서 파일 시스템을 선택하고 두 번째 상자에 웹 사이트의 페이지를 보관할 폴더의 이름을 입력합니다.

    예를 들어, C:\WebSites\BulkUpdate라는 폴더 이름을 입력합니다.

  5. 언어 목록에서 작업할 프로그래밍 언어를 클릭합니다.

  6. 확인을 클릭합니다.

    Visual Web Developer에서 사용자가 지정한 폴더와 Default.aspx라는 새 페이지가 작성됩니다.

언어별 클래스 만들기

이 연습 부분에서는 두 가지 언어인 Visual Basic과 C#으로 간단한 클래스 파일을 만듭니다.

App_Code 폴더에 언어별 클래스 파일을 추가하려면

  1. 웹 사이트에 App_Code 폴더가 아직 없는 경우 다음을 수행합니다.

    1. 솔루션 탐색기에서 웹 사이트 이름을 선택합니다.

    2. 웹 사이트 메뉴에서 ASP.NET 폴더 추가를 클릭한 다음 App_Code를 클릭합니다.

  2. 솔루션 탐색기에서 App_Code 폴더를 마우스 오른쪽 단추로 클릭한 다음 새 폴더를 클릭합니다.

  3. 새 폴더 이름을 "CSCode"로 지정합니다.

  4. CSCode 폴더를 선택합니다.

  5. 웹 사이트 메뉴에서 새 항목 추가를 클릭합니다.

    새 항목 추가 대화 상자가 표시됩니다.

  6. 새 항목 추가 대화 상자에서 클래스 템플릿을 선택하고 클래스 이름을 "CSExample"로 지정한 다음 언어로 C#을 선택하고 추가를 클릭합니다.

  7. 솔루션 탐색기에서 CSExample.cs 파일을 두 번 클릭하여 엽니다.

  8. CSExample.cs 파일에 다음 코드를 추가하여 이 파일에 있는 기존의 CSExample 클래스를 덮어씁니다.

    public class CSExample
    {
        private string teamString;
        public CSExample()
        {
            TeamString = "C# Code";
        }
        public string TeamString 
        {
          get {
            return teamString;
          }
          set {
            teamString = value;
          }
        }
    }
    
  9. 2-7단계를 반복하여 Visual Basic 코드에 대한 폴더와 클래스를 만듭니다. 이번에 사용할 값은 다음과 같습니다.

    • 새 폴더: VBCode

    • 새 클래스 파일: VBExample

      참고:

      새 Visual Basic 클래스 파일을 만들 때 언어를 Visual Basic으로 설정해야 합니다.

  10. VBExample.vb 파일에 다음 코드를 추가하여 이 파일에 있는 기존의 VBExample 클래스를 덮어씁니다.

    Public Class VBExample
        Private teamStr As String
        Public Sub New()
            TeamString = "Visual Basic Code"
        End Sub
        Public Property TeamString() As String
            Get
                Return teamStr
            End Get
            Set(ByVal Value As String)
                teamStr = Value
            End Set
        End Property
    End Class
    

Web.config 파일 수정

각 프로그래밍 언어에 대한 개별 하위 폴더를 만들었으면 ASP.NET에서 하위 폴더를 개별적으로 컴파일하도록 웹 사이트 구성을 변경해야 합니다.

여러 프로그래밍 언어를 지원하도록 Web.config 파일을 수정하려면

  1. 솔루션 탐색기에서 웹 사이트 이름을 선택합니다.

  2. 웹 사이트에 Web.config 파일이 아직 없으면 다음 작업을 수행합니다.

    1. 웹 사이트 메뉴에서 새 항목 추가를 클릭합니다.

    2. 웹 구성 파일을 선택한 다음 추가를 클릭합니다.

  3. Web.config 파일을 두 번 클릭하여 엽니다.

  4. 다음 섹션을 복사하여 <compilation> 섹션의 자식 노드로 붙여넣어 <codeSubDirectories> 노드가 포함되도록 <compilation> 섹션을 수정합니다.

    <codeSubDirectories>
      <add directoryName="CSCode"/>
      <add directoryName="VBCode"/>
    </codeSubDirectories>
    
    참고:

    Machine.config의 이 섹션에 있는 모든 정의가 Web.config 파일의 설정으로 재정의됩니다. 또한 구성 항목의 순서는 이들 항목을 만들고 연결할 순서와 같습니다.

클래스 테스트

이제 웹 사이트를 테스트하여 두 프로그래밍 언어로 작성된 클래스를 모두 사용할 수 있는지 확인할 차례입니다.

여러 프로그래밍 언어를 사용한 결과를 확인하려면

  1. 웹 사이트에 Default.aspx 페이지가 아직 없으면 다음 작업을 수행합니다.

    1. 솔루션 탐색기에서 웹 사이트 이름을 마우스 오른쪽 단추로 클릭한 다음 새 항목 추가를 클릭합니다.

    2. Web Form을 선택하고 페이지 이름을 "Default.aspx"로 지정한 다음 추가를 클릭합니다.

  2. 솔루션 탐색기에서 Default.aspx 페이지를 두 번 클릭합니다.

  3. Button 컨트롤을 Default.aspx 페이지에 추가합니다.

  4. Button 컨트롤의 텍스트를 "Class Language"로 설정하고 단추 ID를 "classLanguage"로 설정합니다.

  5. Label 컨트롤을 Default.aspx 페이지에 추가하고 해당 ID 속성을 "classLabel"로 설정한 다음 해당 Text 속성을 지웁니다.

  6. 디자인 뷰에서 Button 컨트롤을 두 번 클릭하여 해당 Click 이벤트에 대한 이벤트 처리기를 만듭니다.

  7. classLanguage_Click 처리기에 다음 코드를 추가합니다.

    CSExample CSCode = new CSExample();
    VBExample VBCode = new VBExample();
    if (classLabel.Text == CSCode.TeamString.ToString())
    {
        classLabel.Text = VBCode.TeamString.ToString();
    }
    else
    {
        classLabel.Text = CSCode.TeamString.ToString();
    }
    
    Dim CSCode As CSExample =  New CSExample() 
    Dim VBCode As VBExample =  New VBExample() 
    If classLabel.Text = CSCode.TeamString.ToString() Then
        classLabel.Text = VBCode.TeamString.ToString()
    Else 
        classLabel.Text = CSCode.TeamString.ToString()
    End If
    
  8. 솔루션 탐색기에서 Default.aspx를 마우스 오른쪽 단추로 클릭하고 시작 페이지로 설정을 선택합니다.

  9. 웹 사이트를 실행하고 "Class Language" 단추를 눌러 서로 다른 두 언어 클래스 사이를 전환합니다.

참고 항목

개념

ASP.NET 웹 사이트의 공유 코드 폴더

IIS 5.0 및 6.0의 ASP.NET 응용 프로그램 수명 주기 개요

ASP.NET 미리 컴파일 개요

참조

compilation 요소(ASP.NET 설정 스키마)