다음을 통해 공유


연습: ADO.NET 및 .NET Framework를 사용하여 n 계층 데이터 애플리케이션 만들기

비고

클래스 및 관련 클래스는 DataSet 2000년대 초반의 레거시 .NET Framework 기술로, 애플리케이션이 데이터베이스와 연결이 끊긴 동안 애플리케이션이 메모리의 데이터로 작업할 수 있도록 합니다. 이 기술은 사용자가 데이터를 수정하고 변경 내용을 데이터베이스에 다시 유지할 수 있도록 하는 앱에 특히 유용합니다. 데이터 세트는 입증된 성공적인 기술이지만 새 .NET 애플리케이션에 권장되는 방법은 Entity Framework Core를 사용하는 것입니다. Entity Framework는 테이블 형식 데이터를 개체 모델로 사용하는 보다 자연스러운 방법을 제공하며 더 간단한 프로그래밍 인터페이스를 제공합니다.

N 계층 데이터 애플리케이션은 데이터에 액세스하고 여러 논리 계층 또는 계층으로 구분되는 애플리케이션 입니다. 애플리케이션 구성 요소를 개별 계층으로 분리하면 애플리케이션의 유지 관리 및 확장성이 향상됩니다. 이렇게 하려면 전체 솔루션을 다시 디자인할 필요 없이 단일 계층에 적용할 수 있는 새로운 기술을 더 쉽게 채택할 수 있습니다. N 계층 아키텍처에는 프레젠테이션 계층, 중간 계층 및 데이터 계층이 포함됩니다. 중간 계층에는 일반적으로 데이터 액세스 계층, 비즈니스 논리 계층 및 인증 및 유효성 검사와 같은 공유 구성 요소가 포함됩니다. 데이터 계층에는 관계형 데이터베이스가 포함됩니다. N 계층 애플리케이션은 일반적으로 프레젠테이션 계층에 액세스하는 최종 사용자로부터 격리를 유지하기 위해 중간 계층의 데이터 액세스 계층에 중요한 정보를 저장합니다. 자세한 내용은 N 계층 데이터 애플리케이션 개요를 참조하세요.

n 계층 애플리케이션에서 다양한 계층을 구분하는 한 가지 방법은 애플리케이션에 포함하려는 각 계층에 대해 불연속 프로젝트를 만드는 것입니다. 형식화된 데이터 세트에는 DataSet Project 속성이 포함되어 있으며, 이는 생성된 데이터 세트 및 TableAdapter 코드가 들어갈 프로젝트를 결정합니다.

이 연습에서는 데이터 세트 디자이너를 사용하여 데이터 세트와 TableAdapter 코드를 개별 클래스 라이브러리 프로젝트로 구분하는 방법을 보여 줍니다. 데이터 세트와 TableAdapter 코드를 분리한 후 Visual Studio 서비스에서 Windows Communication Foundation Services 및 WCF Data Services 를 만들어 데이터 액세스 계층을 호출합니다. 마지막으로 Windows Forms 애플리케이션을 프레젠테이션 계층으로 만듭니다. 이 계층은 데이터 서비스에서 데이터에 액세스합니다.

이 연습에서는 다음 단계를 수행합니다.

  • 여러 프로젝트를 포함하는 새 n 계층 솔루션을 만듭니다.

  • n 계층 솔루션에 두 개의 클래스 라이브러리 프로젝트를 추가합니다.

  • 데이터 원본 구성 마법사를 사용하여 형식화된 데이터 세트를 만듭니다.

  • 생성된 TableAdapters 및 데이터 세트 코드를 개별 프로젝트로 구분합니다.

  • 데이터 액세스 계층을 호출하는 WCF(Windows Communication Foundation) 서비스를 만듭니다.

  • 서비스에서 데이터 액세스 계층에서 데이터를 검색하는 함수를 만듭니다.

  • 프레젠테이션 계층으로 사용할 Windows Forms 애플리케이션을 만듭니다.

  • 데이터 원본에 바인딩된 Windows Forms 컨트롤을 만듭니다.

  • 데이터 테이블을 채우는 코드를 작성합니다.

필수 조건

이 자습서를 완료하려면 Visual Studio에 설치된 .NET 데스크톱 개발및 데이터 스토리지 및 처리 워크로드가 필요합니다. 설치하려면 Visual Studio 설치 관리자 열고 수정하려는 Visual Studio 버전 옆에 있는 수정(또는 추가>수정)을 선택합니다. 을(를) 참조하여 Visual Studio을(를) 수정하세요.

이 연습에서는 SQL Server Express LocalDB 및 Northwind 샘플 데이터베이스를 사용합니다.

  1. SQL Server Express LocalDB가 없는 경우 SQL Server Express 다운로드 페이지 또는 Visual Studio 설치 관리자를 통해 설치합니다. Visual Studio 설치 관리자에서 .NET 데스크톱 개발 워크로드의 일부로 또는 개별 구성 요소로 SQL Server Express LocalDB를 설치할 수 있습니다.

  2. 다음 단계에 따라 Northwind 샘플 데이터베이스를 설치합니다.

    1. Visual Studio에서 SQL Server 개체 탐색기 창을 엽니다. (SQL Server 개체 탐색기는 Visual Studio 설치 관리자에서 데이터 스토리지 및 처리 워크로드의 일부로 설치됩니다.) SQL Server 노드를 확장합니다. LocalDB 인스턴스를 마우스 오른쪽 단추로 클릭하고 새 쿼리 선택합니다.

      쿼리 편집기 창이 열립니다.

    2. Northwind Transact-SQL 스크립트를 클립보드에 복사합니다. 이 T-SQL 스크립트는 Northwind 데이터베이스를 처음부터 만들고 데이터로 채웁니다.

    3. T-SQL 스크립트를 쿼리 편집기에 붙여넣은 다음 실행 단추를 선택합니다.

      잠시 후 쿼리 실행이 완료되고 Northwind 데이터베이스가 만들어집니다.

    1. Visual Studio에서 SQL Server 개체 탐색기 창을 엽니다. (SQL Server 개체 탐색기는 Visual Studio 설치 관리자에서 데이터 스토리지 및 처리 워크로드의 일부로 설치됩니다.) SQL Server 노드를 확장합니다. LocalDB 인스턴스를 마우스 오른쪽 단추로 클릭하고 새 쿼리 선택합니다.

      LocalDB 인스턴스가 표시되지 않으면 도구 모음 단추 SQL Server 추가를 선택하십시오. 대화 상자가 나타납니다. 대화 상자에서 로컬 을 확장하고 MSSQLLocalDB를 선택합니다. 적절한 자격 증명을 입력합니다. 데이터베이스에 대한 기본 선택을 그대로 둘 수 있습니다.

      SQL Database에 연결 대화 상자 스크린샷

    2. 연결을 선택합니다. SQL Server 개체 탐색기에서 LocalDB에 대한 노드가 추가됩니다.

    3. LocalDB 인스턴스를 마우스 오른쪽 단추로 클릭하고 새 쿼리 선택합니다.

      쿼리 편집기 창이 열립니다.

    4. Northwind Transact-SQL 스크립트를 클립보드에 복사합니다. 이 T-SQL 스크립트는 Northwind 데이터베이스를 처음부터 만들고 데이터로 채웁니다.

    5. T-SQL 스크립트를 쿼리 편집기에 붙여넣은 다음 실행 단추를 선택합니다.

      잠시 후 쿼리 실행이 완료되고 Northwind 데이터베이스가 만들어집니다.

데이터 세트를 저장할 n 계층 솔루션 및 클래스 라이브러리 만들기(DataEntityTier)

이 연습의 첫 번째 단계는 솔루션과 두 개의 클래스 라이브러리 프로젝트를 만드는 것입니다. 첫 번째 클래스 라이브러리는 데이터 세트(생성된 형식화된 DataSet 클래스 및 애플리케이션의 데이터를 보유하는 DataTables)를 보유합니다. 이 프로젝트는 애플리케이션의 데이터 엔터티 계층으로 사용되며 일반적으로 중간 계층에 있습니다. 데이터 세트는 초기 데이터 세트를 만들고 코드를 두 클래스 라이브러리로 자동으로 구분합니다.

비고

확인을 클릭하기 전에 프로젝트 및 솔루션의 이름을 올바르게 지정해야 합니다. 그렇게 하면 이 연습 과정을 더 쉽게 완료할 수 있습니다.

n 계층 솔루션 및 DataEntityTier 클래스 라이브러리를 만들려면

  1. Visual Studio에서 C# 또는 Visual Basic용 Windows Forms 앱(.NET Framework) 프로젝트 템플릿을 사용하여 프로젝트를 만듭니다. .NET Core, .NET 5 이상은 지원되지 않습니다.

  2. 프로젝트 이름을 DataEntityTier로 지정합니다.

  3. 솔루션 이름을 NTierWalkthrough로 지정한 다음 확인을 선택합니다.

    DataEntityTier 프로젝트를 포함하는 NTierWalkthrough 솔루션이 만들어지고 솔루션 탐색기에 추가됩니다.

TableAdapters를 저장할 클래스 라이브러리 만들기(DataAccessTier)

DataEntityTier 프로젝트를 만든 후 다음 단계는 다른 클래스 라이브러리 프로젝트를 만드는 것입니다. 이 프로젝트는 생성된 TableAdapters를 보유하며 애플리케이션의 데이터 액세스 계층 이라고 합니다. 데이터 액세스 계층은 데이터베이스에 연결하는 데 필요한 정보를 포함하며 일반적으로 중간 계층에 있습니다.

TableAdapters에 대한 별도의 클래스 라이브러리를 만들려면

  1. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고새 프로젝트추가>를 선택합니다.

  2. 클래스 라이브러리(.NET Framework) 프로젝트 템플릿을 선택합니다.

  3. 프로젝트 이름을 DataAccessTier 로 지정하고 확인을 선택합니다.

    DataAccessTier 프로젝트가 만들어지고 NTierWalkthrough 솔루션에 추가됩니다.

데이터 세트 만들기

다음 단계는 형식화된 데이터 세트를 만드는 것입니다. 형식화된 데이터 세트는 데이터 세트 클래스(클래스 포함 DataTables )와 TableAdapter 단일 프로젝트의 클래스를 모두 사용하여 만들어집니다. (모든 클래스는 단일 파일로 생성됩니다.) 데이터 세트와 TableAdapters를 다른 프로젝트로 분리하면 다른 프로젝트로 이동되는 데이터 세트 클래스이며 원래 프로젝트에 클래스가 TableAdapter 남습니다. 따라서 궁극적으로 TableAdapters(DataAccessTier 프로젝트)를 포함할 데이터 세트를 프로젝트에 만듭니다. 데이터 원본 구성 마법사를 사용하여 데이터 세트를 만듭니다.

비고

연결을 만들려면 Northwind 샘플 데이터베이스에 액세스할 수 있어야 합니다. Northwind 샘플 데이터베이스를 설정하는 방법에 대한 자세한 내용은 방법: 샘플 데이터베이스 설치를 참조하세요.

데이터 세트를 만들려면

  1. 솔루션 탐색기에서 DataAccessTier를 선택합니다.

  2. 데이터 메뉴에서 데이터 원본 표시를 선택합니다.

    데이터 원본 창이 열립니다.

  3. 데이터 원본 창에서 새 데이터 원본 추가를 선택하여 데이터 원본 구성 마법사를 시작합니다.

  4. 데이터 원본 유형 선택 페이지에서 데이터베이스를 선택한 다음, 다음을 선택합니다.

  5. 데이터 연결 선택 페이지에서 다음 작업 중 하나를 수행합니다.

    Northwind 샘플 데이터베이스에 대한 데이터 연결을 드롭다운 목록에서 사용할 수 있는 경우 선택합니다.

    또는

    새 연결을 선택하여 연결 추가 대화 상자를 엽니다.

  6. 데이터베이스에 암호가 필요한 경우 중요한 데이터를 포함하는 옵션을 선택하고 다음을 선택합니다.

    비고

    SQL Server에 연결하는 대신 로컬 데이터베이스 파일을 선택한 경우 프로젝트에 파일을 추가할 것인지 묻는 메시지가 표시될 수 있습니다. 예(Yes)를 선택하여 프로젝트에 데이터베이스 파일을 추가합니다.

  7. 애플리케이션 구성 파일 페이지에 연결 문자열 저장 페이지에서 다음을 선택합니다.

  8. 데이터베이스 개체 선택 페이지에서 테이블 노드를 확장합니다.

  9. 고객 및 주문 테이블에 대한 확인란 선택한 다음 마침을 선택합니다.

    NorthwindDataSet이 DataAccessTier 프로젝트에 추가되고 데이터 원본 창에 표시됩니다.

Dataset에서 TableAdapters 분리하다

데이터 세트를 만든 후 생성된 데이터 세트 클래스를 TableAdapters와 분리합니다. 이렇게 하려면 DataSet Project 속성을 분리된 데이터 세트 클래스를 저장할 프로젝트의 이름으로 설정합니다.

TableAdapters를 데이터 세트에서 분리하려면

  1. 솔루션 탐색기에서 NorthwindDataSet.xsd를 두 번 클릭하여 데이터 세트 디자이너에서 데이터 세트를 엽니다.

  2. 디자이너에서 빈 영역을 선택합니다.

  3. 속성 창에서 DataSet 프로젝트 노드를 찾습니다.

  4. 데이터 세트 프로젝트 목록에서 DataEntityTier를 선택합니다.

  5. 빌드 메뉴에서 솔루션 빌드를 선택합니다.

    데이터 세트와 TableAdapters는 두 클래스 라이브러리 프로젝트로 구분됩니다. 원래 전체 데이터 세트(DataAccessTier)를 포함하는 프로젝트에는 이제 TableAdapters만 포함됩니다. DataSet Project 속성(DataEntityTier)에 지정된 프로젝트에는 형식화된 데이터 세트인 NorthwindDataSet.Dataset.Designer.vb(또는 NorthwindDataSet.Dataset.Designer.cs)가 포함됩니다.

비고

데이터 세트와 TableAdapters를 구분하는 경우( DataSet Project 속성을 설정하여) 프로젝트의 기존 부분 데이터 세트 클래스는 자동으로 이동되지 않습니다. 기존 데이터 세트 부분 클래스는 수동으로 데이터 세트 프로젝트로 이동해야 합니다.

새 서비스 애플리케이션 만들기

이 연습에서는 WCF 서비스를 사용하여 데이터 액세스 계층에 액세스하는 방법을 보여 주므로 새 WCF 서비스 애플리케이션을 만들어 보겠습니다.

새 WCF 서비스 애플리케이션을 만들려면

  1. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고새 프로젝트추가>를 선택합니다.

  2. 새 프로젝트 대화 상자의 왼쪽 창에서 WCF를 선택합니다. 가운데 창에서 WCF 서비스 라이브러리를 선택합니다.

  3. 프로젝트 DataService 의 이름을 지정하고 확인을 선택합니다.

    DataService 프로젝트가 만들어지고 NTierWalkthrough 솔루션에 추가됩니다.

데이터 액세스 계층에서 고객 및 주문 데이터를 반환하는 메서드 만들기

데이터 서비스는 데이터 액세스 계층 GetCustomers 에서 두 가지 메서드를 호출해야 합니다 GetOrders. 이러한 메서드는 Northwind CustomersOrders 테이블을 반환합니다. 프로젝트 DataAccessTier에서 GetCustomersGetOrders 메서드를 만드십시오.

데이터 액세스 계층에서 Customers 테이블을 반환하는 메서드를 만들려면

  1. 솔루션 탐색기에서 NorthwindDataset.xsd를 두 번 클릭하여 데이터 세트를 엽니다.

  2. CustomersTableAdapter를 마우스 오른쪽 단추로 클릭하고 쿼리 추가를 클릭합니다.

  3. 명령 유형 선택 페이지에서 SQL 문 사용의 기본값을 그대로 두고 다음을 클릭합니다.

  4. 쿼리 유형 선택 페이지에서 행을 반환하는 SELECT의 기본값을 그대로 두고 다음을 클릭합니다.

  5. SQL SELECT 문 지정 페이지에서 기본 쿼리를 그대로 두고 다음을 클릭합니다.

  6. 생성할 메서드 선택 페이지의 DataTable 반환 섹션에서 메서드 이름에 대한 GetCustomers를 입력합니다.

  7. 완료를 클릭합니다.

Orders 테이블을 반환하는 데이터 액세스 계층에서 메서드를 만들려면

  1. OrdersTableAdapter를 마우스 오른쪽 단추로 클릭하고 쿼리 추가를 클릭합니다.

  2. 명령 유형 선택 페이지에서 SQL 문 사용의 기본값을 그대로 두고 다음을 클릭합니다.

  3. 쿼리 유형 선택 페이지에서 행을 반환하는 SELECT의 기본값을 그대로 두고 다음을 클릭합니다.

  4. SQL SELECT 문 지정 페이지에서 기본 쿼리를 그대로 두고 다음을 클릭합니다.

  5. 생성할 메서드 선택 페이지의 DataTable 반환 섹션에서 메서드 이름에 대한 GetOrders를 입력합니다.

  6. 완료를 클릭합니다.

  7. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

데이터 서비스에 데이터 엔터티 및 데이터 액세스 계층에 대한 참조 추가

데이터 서비스에는 데이터 세트 및 TableAdapters의 정보가 필요하기 때문에 DataEntityTierDataAccessTier 프로젝트에 대한 참조를 추가합니다.

데이터 서비스에 대한 참조를 추가하려면

  1. 솔루션 탐색기에서 DataService를 마우스 오른쪽 단추로 클릭하고 참조 추가를 클릭합니다.

  2. 참조 추가 대화 상자에서 프로젝트 탭을 클릭합니다.

  3. DataAccessTierDataEntityTier 프로젝트를 모두 선택합니다.

  4. OK를 클릭합니다.

데이터 액세스 계층에서 GetCustomers 및 GetOrders 메서드를 호출하는 함수를 서비스에 추가합니다.

이제 데이터 액세스 계층에 데이터를 반환하는 메서드가 포함되어 있으므로 데이터 액세스 계층에서 메서드를 호출하는 메서드를 데이터 서비스에 만듭니다.

비고

C# 프로젝트의 경우 다음 코드를 컴파일하려면 System.Data.DataSetExtensions 어셈블리에 대한 참조를 추가해야 합니다.

데이터 서비스에서 GetCustomers 및 GetOrders 함수를 만들려면

  1. DataService 프로젝트에서 IService1.vb 두 번 클릭하거나 IService1.cs.

  2. 여기에 서비스 작업 추가 주석 아래에 다음 코드를 추가합니다.

    [OperationContract]
    DataEntityTier.NorthwindDataSet.CustomersDataTable GetCustomers();
    
    [OperationContract]
    DataEntityTier.NorthwindDataSet.OrdersDataTable GetOrders();
    

    비고

    이 자습서의 코드는 C# 및 Visual Basic에서 사용할 수 있습니다. 이 페이지의 코드 언어를 C# 및 Visual Basic 간에 전환하려면 오른쪽 페이지의 맨 위에 있는 코드 언어 전환기를 사용합니다.

  3. DataService 프로젝트에서 Service1.vb (또는 Service1.cs)를 두 번 클릭합니다.

  4. Service1 클래스에 다음 코드를 추가합니다.

    public DataEntityTier.NorthwindDataSet.CustomersDataTable GetCustomers()
    {
        DataAccessTier.NorthwindDataSetTableAdapters.CustomersTableAdapter
             CustomersTableAdapter1
            = new DataAccessTier.NorthwindDataSetTableAdapters.CustomersTableAdapter();
        return CustomersTableAdapter1.GetCustomers();
    }
    public DataEntityTier.NorthwindDataSet.OrdersDataTable GetOrders()
    {
        DataAccessTier.NorthwindDataSetTableAdapters.OrdersTableAdapter
             OrdersTableAdapter1
            = new DataAccessTier.NorthwindDataSetTableAdapters.OrdersTableAdapter();
        return OrdersTableAdapter1.GetOrders();
    }
    
  5. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

데이터 서비스의 데이터를 표시하는 프레젠테이션 계층 만들기

이제 솔루션에 데이터 액세스 계층을 호출하는 메서드가 있는 데이터 서비스가 포함되어 있으므로 데이터 서비스를 호출하고 사용자에게 데이터를 제공하는 다른 프로젝트를 만듭니다. 이 연습에서는 Windows Forms 애플리케이션을 만듭니다. n 계층 애플리케이션의 프레젠테이션 계층입니다.

프레젠테이션 계층 프로젝트를 만들려면

  1. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고새 프로젝트추가>를 선택합니다.

  2. 새 프로젝트 대화 상자의 왼쪽 창에서 Windows 데스크톱을 선택합니다. 가운데 창에서 Windows Forms 앱을 선택합니다.

  3. 프로젝트 PresentationTier 의 이름을 지정하고 확인을 클릭합니다.

    PresentationTier 프로젝트가 만들어지고 NTierWalkthrough 솔루션에 추가됩니다.

PresentationTier 프로젝트를 시작 프로젝트로 설정

PresentationTier 프로젝트는 데이터를 표시하고 상호 작용하는 실제 클라이언트 애플리케이션이므로 솔루션의 시작 프로젝트로 설정합니다.

새 프레젠테이션 계층 프로젝트를 시작 프로젝트로 설정하려면

  • 솔루션 탐색기에서 PresentationTier를 마우스 오른쪽 단추로 클릭하고 시작 프로젝트로 설정을 클릭합니다.

프레젠테이션 계층에 참조 추가

클라이언트 애플리케이션인 PresentationTier는 서비스의 메서드에 액세스하기 위해 데이터 서비스에 대한 서비스 참조가 필요합니다. 또한 WCF 서비스에서 형식 공유를 사용하도록 설정하려면 데이터 세트에 대한 참조가 필요합니다. 데이터 서비스를 통해 형식 공유를 사용하도록 설정하기 전에는 부분 데이터 세트 클래스에 추가된 코드를 프레젠테이션 계층에서 사용할 수 없습니다. 일반적으로 데이터 테이블의 행 및 열 변경 이벤트에 유효성 검사 코드와 같은 코드를 추가하므로 클라이언트에서 이 코드에 액세스하려고 할 수 있습니다.

프레젠테이션 계층에 대한 참조를 추가하려면

  1. 솔루션 탐색기에서 PresentationTier를 마우스 오른쪽 단추로 클릭하고 참조 추가를 선택합니다.

  2. 참조 추가 대화 상자에서 프로젝트 탭을 선택합니다.

  3. DataEntityTier를 선택하고 확인을 선택합니다.

프레젠테이션 계층에 서비스 참조를 추가하려면

  1. 솔루션 탐색기에서 PresentationTier를 마우스 오른쪽 단추로 클릭하고 서비스 참조 추가를 선택합니다.

  2. 서비스 참조 추가 대화 상자에서 검색을 선택합니다.

  3. Service1을 선택하고 확인을 선택합니다.

    비고

    현재 컴퓨터에 여러 서비스가 있는 경우, 이 연습에서 이전에 만든 서비스(GetCustomersGetOrders 메서드를 포함하는 서비스)를 선택합니다.

DataGridViews를 양식에 추가하여 데이터 서비스에서 반환된 데이터를 표시합니다.

데이터 서비스에 서비스 참조를 추가하면 데이터 원본 창이 서비스에서 반환되는 데이터로 자동으로 채워집니다.

양식에 데이터 바인딩된 DataGridView를 두 개 추가하려면

  1. 솔루션 탐색기에서 PresentationTier 프로젝트를 선택합니다.

  2. 데이터 원본 창에서 NorthwindDataSet을 확장하고 고객 노드를 찾습니다.

  3. 고객 노드를 Form1로 끌어다 놓습니다.

  4. 데이터 원본 창에서 고객 노드를 확장하고 관련 주문 노드(고객 노드에 중첩된 주문 노드)를 찾습니다.

  5. 관련 주문 노드 Form1로 끕니다.

  6. 양식의 Form1_Load 빈 영역을 두 번 클릭하여 이벤트 처리기를 만듭니다.

  7. 이벤트 처리기에 다음 코드를 Form1_Load 추가합니다.

    ServiceReference1.Service1Client DataSvc =
        new ServiceReference1.Service1Client();
    northwindDataSet.Customers.Merge(DataSvc.GetCustomers());
    northwindDataSet.Orders.Merge(DataSvc.GetOrders());
    

서비스에서 허용하는 최대 메시지 크기 늘리기

기본값 maxReceivedMessageSizeCustomersOrders 테이블에서 검색된 데이터를 저장할 만큼 크지 않습니다. 다음 단계에서는 값을 6553600으로 늘입니다. 서비스 참조를 자동으로 업데이트하는 클라이언트의 값을 변경합니다.

비고

낮은 기본 크기는 DoS(서비스 거부) 공격에 대한 노출을 제한하기 위한 것입니다. 자세한 내용은 MaxReceivedMessageSize를 참조하세요.

maxReceivedMessageSize 값을 늘리려면

  1. 솔루션 탐색기에서 PresentationTier 프로젝트에서 app.config 파일을 두 번 클릭합니다.

  2. maxReceivedMessageSize 특성을 찾아 값을 6553600.로 변경합니다. 항목이 basicHttpBinding 표시되지 않으면 다음 예제와 같이 항목을 추가합니다.

    <system.serviceModel>
     <bindings>
         <basicHttpBinding>
             <binding maxBufferSize="6553600" maxReceivedMessageSize="6553600" />
         </basicHttpBinding>
     </bindings>
    </system.serviceModel>
    

애플리케이션 테스트

F5 키를 눌러 애플리케이션을 실행합니다. Customers 테이블과 Orders 테이블의 데이터는 데이터 서비스에서 검색되어 양식에 표시됩니다.

다음 단계

애플리케이션 요구 사항에 따라 Windows 기반 애플리케이션에서 관련 데이터를 저장한 후 수행할 수 있는 몇 가지 단계가 있습니다. 예를 들어 이 애플리케이션을 다음과 같이 개선할 수 있습니다.

  • 데이터 세트에 유효성 검사를 추가합니다.

  • 데이터베이스로 데이터를 다시 업데이트하기 위한 메서드를 서비스에 추가합니다.