연습: Visual Web Developer에서 웹 사이트에 공유 코드 사용

업데이트: 2007년 11월

웹 사이트를 만드는 경우 Visual Web Developer를 사용하면 쉽게 클래스 파일에 공유 코드를 만든 다음 클래스 파일을 컴파일하지 않고도 응용 프로그램의 페이지에서 사용할 수 있습니다.

참고:

기존 어셈블리(.dll 파일)가 있을 경우 웹 사이트의 Bin 디렉터리에 추가하면 웹 사이트에서 자동으로 해당 어셈블리를 참조합니다.

이 연습에서는 단순 클래스를 만든 다음 ASP.NET 웹 페이지에서 사용합니다.

이 연습에서 수행할 작업은 다음과 같습니다.

  • 웹 사이트에 클래스 추가

  • Visual Web Developer에서 자동으로 구성 요소 참조

사전 요구 사항

이 연습을 완료하려면 다음과 같은 요건을 갖추어야 합니다.

  • Visual Web Developer(Visual Studio)

  • .NET Framework

이 연습에서는 Visual Web Developer 작업에 대한 일반적인 지식이 있다고 가정합니다. 기본 사항은 연습: Visual Web Developer에서 기본 웹 페이지 만들기를 참조하십시오.

웹 사이트 및 페이지 만들기

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

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

  1. Visual Web Developer를 엽니다.

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

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

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

  4. 위치 상자에 웹 사이트의 페이지를 보관할 폴더의 이름을 입력합니다.

    예를 들면 다음과 같습니다.

    • 파일 시스템 웹 사이트를 만드는 경우 C:\SampleSite를 입력합니다.

    • IIS가 설치되어 있으며 HTTP 웹 사이트를 만드는 경우 https://localhost/SampleSite를 입력합니다.

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

  6. 확인을 클릭합니다.

    Visual Web Developer에서는 해당 웹 사이트를 만들고 Default.aspx라는 새 페이지를 엽니다.

공유 클래스 만들기

App_Code라는 폴더에 보관하면 재사용 가능한 클래스를 만들 수 있습니다. Visual Web Developer는 App_Code 폴더를 모니터링하며 새 클래스 파일이 추가된 경우 응용 프로그램의 나머지 코드에서 해당 구성 요소를 사용할 수 있도록 합니다. 기본적으로 App_Code 폴더의 클래스는 런타임 시 단일 어셈블리로 컴파일됩니다.

참고:

클래스 및 지원되는 기타 공유 형식만 App_Code 폴더에 저장해야 합니다. 페이지, 웹 사용자 정의 컨트롤 또는 비코드 요소가 포함된 기타 파일은 App_Code 폴더에 저장하지 마십시오.

App_Code 폴더를 만들려면

  • 솔루션 탐색기에서 웹 사이트 이름을 마우스 오른쪽 단추로 클릭하고 폴더 추가를 클릭한 다음 App_Code 폴더를 클릭합니다.

    이제 사이트에 구성 요소를 추가할 수 있습니다.

App_Code 폴더에 공유 클래스를 만들려면

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

    참고:

    웹 사이트의 루트 폴더가 아닌 App_Code 폴더에 새 항목을 만들어야 합니다.

  2. Visual Studio에 설치되어 있는 템플릿에서 클래스를 클릭합니다.

  3. 이름 상자에 SampleClass1을 입력합니다.

  4. 언어 목록에서 공유 클래스를 사용할 웹 페이지에 사용되는 언어를 선택합니다.

  5. 추가를 클릭합니다.

    Visual Web Developer의 편집기에서 새 클래스 파일을 엽니다.

  6. 다음 코드를 클래스 파일로 복사하여 testString이라는 단일 속성을 가진 클래스를 만듭니다.

    Public Class SampleClass1
        private testStringValue As String
        Public Property testString as String
            Get
                return testStringValue
            End Get
            Set (Value as String)
                testStringValue = value
            End Set
        End Property
    End Class
    
    using System;
    public class SampleClass1
    {
        public SampleClass1() 
        {
        }
        private string testStringValue;
        public string testString 
        {
            get
            {
                  return testStringValue;
            }
            set
            {
                   testStringValue = value;
            }
        }
    }
    
  7. 파일을 저장한 다음 닫습니다.

    파일은 컴파일된 파일로 저장되지 않습니다.

    참고:

    App_Code 폴더의 공유 클래스를 사용할 때는 구성 요소를 저장하지 않아도 Visual Web Developer에서 해당 구성 요소에 대한 참조를 유지 관리할 수 있습니다. 웹 페이지와 구성 요소가 동일한 프로그래밍 언어로 작성된 경우 Visual Web Developer는 해당 구성 요소에 대한 참조를 메모리에서 유지 관리합니다. 이 경우에는 파일 작업을 마쳤으므로 파일을 닫습니다.

공유 클래스 사용

다음 단계에서는 ASP.NET 웹 페이지에서 공유 클래스를 사용합니다. 웹 사이트를 만들 때 생성된 Default.aspx 페이지를 사용할 수 있습니다.

공유 클래스를 사용하려면

  1. Default.aspx 페이지로 전환하거나 열고 디자인 뷰로 전환합니다.

    참고:

    Default.aspx 페이지가 없으면 다른 페이지를 사용하거나 웹 사이트에 새 페이지를 추가할 수 있습니다. 이렇게 하려면 솔루션 탐색기에서 웹 사이트 이름을 마우스 오른쪽 단추로 클릭하고 새 항목 추가를 클릭한 다음 Web Form을 클릭합니다. 언어 목록에서 구성 요소에 사용한 언어와 같은 프로그래밍 언어를 입력한 다음 확인을 클릭합니다.

  2. 도구 상자의 표준 폴더에서 TextBox 컨트롤, Label 컨트롤 및 Button 컨트롤을 페이지로 끌어 옵니다.

    참고:

    이 연습에서 페이지의 레이아웃은 중요하지 않습니다.

  3. Button 컨트롤을 두 번 클릭하여 Click 처리기를 만듭니다.

    click 처리기 코드는 다음과 같을 수 있습니다.

    Protected Sub Button1_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Button1.Click
    
    End Sub
    
    protected void Button1_Click(object sender, EventArgs e)
    {
    
    }
    
  4. 처리기에 다음 코드를 입력합니다.

    Dim sc As New
    
    SampleClass1 sc = new
    

    New 또는 new를 입력한 후 스페이스바를 누르면 Visual Web Developer에서 사용 가능한 클래스 목록을 표시합니다. 이전 단원에서 만든 SampleClass1 클래스가 목록에 포함되어 있습니다.

  5. SampleClass1을 입력하거나 목록에서 두 번 클릭하여 문을 완성합니다. 문은 다음과 같아야 합니다.

    Dim sc As New SampleClass1
    
    SampleClass1 sc = new SampleClass1();
    
  6. Enter 키를 누르고 다음 코드를 입력합니다.

    sc.
    

    마침표를 입력하면 즉시 Visual Web Developer에서 다시 멤버 목록을 표시하여 샘플 클래스에서의 멤버 선택을 도와 줍니다.

  7. 다음과 같은 방식으로 문과 처리기를 완성합니다.

    sc.testString = TextBox1.Text
    Label1.Text = sc.testString
    
    sc.testString = TextBox1.Text;
    Label1.Text = sc.testString;
    
  8. 파일을 저장합니다.

페이지 및 클래스 테스트

웹 사이트를 실행하여 공유 클래스가 제대로 작동하는지 확인할 수 있습니다.

페이지와 구성 요소를 테스트하려면

  1. Default.aspx 페이지를 엽니다.

  2. Ctrl+F5를 눌러 페이지를 실행합니다.

  3. 페이지가 브라우저에 나타나면 텍스트 상자에 아무 내용이나 입력하고 단추를 클릭합니다.

    이렇게 하면 단순 클래스에 속성이 설정되어 Label 컨트롤에 표시됩니다.

Microsoft Windows Explorer를 사용하여 웹 사이트가 위치한 디렉터리를 검사하면 페이지와 App_Code 폴더가 표시됩니다. App_Code 폴더나 웹 사이트 루트 아래의 아무 곳에도 .dll이나 기타 실행 코드가 없습니다. 대신 Visual Web Developer에서 페이지와 공유 클래스를 동적으로 컴파일했습니다.

다음 단계

이 연습에서는 구성 요소를 컴파일하지 않고 웹 사이트에 공유 클래스를 추가하는 방법을 배웠습니다. 다른 방법으로 공유 클래스를 사용할 수도 있습니다. 예를 들어, 다음과 같은 경우입니다.

참고 항목

개념

ASP.NET 웹 사이트 레이아웃

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