Share via


WCF Data Services 개발 및 배포

이 항목에서는 WCF Data Services 의 개발 및 배포에 대한 정보를 제공합니다. WCF Data Services 에 대한 자세한 기본 정보는 WCF Data Services 시작WCF Data Services 개요를 참조하십시오.

WCF Data Services 개발

WCF Data Services 를 사용하여 Open Data Protocol(OData) 을 지원하는 데이터 서비스를 만들 때는 개발 과정에서 다음과 같은 기본 작업을 수행해야 합니다.

  1. 데이터 모델 정의

    WCF Data Services 에서는 관계형 데이터베이스부터 런타임에 바인딩된 데이터 형식에 이르기까지 다양한 데이터 원본의 데이터를 기반으로 데이터 모델을 정의할 수 있도록 다양한 데이터 서비스 공급자를 지원합니다. 자세한 내용은 데이터 서비스 공급자(WCF Data Services)를 참조하십시오.

  2. 데이터 서비스 만들기

    가장 기본적인 데이터 서비스는 DataService 클래스에서 상속하는 클래스를 엔터티 컨테이너의 네임스페이스로 정규화된 이름인 T 형식으로 노출합니다. 자세한 내용은 WCF Data Services 정의를 참조하십시오.

  3. 데이터 서비스 구성

    기본적으로 WCF Data Services 는 엔터티 컨테이너에 의해 노출되는 리소스에 액세스할 수 없도록 설정되어 있습니다. DataServiceConfiguration 인터페이스를 사용하면 리소스 및 서비스 작업에 대한 액세스를 구성하고 지원되는 OData 버전을 지정할 수 있으며 일괄 처리 동작 또는 단일 응답 피드에 반환될 수 있는 최대 엔터티 수와 같은 서비스 전반적인 기타 동작을 정의할 수 있습니다. 자세한 내용은 데이터 서비스 구성(WCF Data Services)을 참조하십시오.

이 항목에서는 Visual Studio를 사용하여 데이터 서비스의 개발 및 배포를 주로 다룹니다. 데이터를 OData 피드로 노출할 수 있도록 WCF Data Services 에서 제공하는 유연성에 대한 자세한 내용은 WCF Data Services 정의를 참조하십시오.

개발 웹 서버 선택

Visual Studio를 사용하여 WCF Data Services를 ASP.NET 응용 프로그램 또는 ASP.NET 웹 사이트로 개발하는 경우 개발하는 중에 데이터 서비스를 실행할 웹 서버를 선택할 수 있습니다. 다음 웹 서버는 로컬 컴퓨터에서 데이터 서비스를 쉽게 테스트하고 디버깅할 수 있도록 Visual Studio와 통합됩니다.

  1. 로컬 IIS 서버

    IIS(인터넷 정보 서비스)에서 실행되는 ASP.NET 응용 프로그램 또는 ASP.NET 웹 사이트인 데이터 서비스를 만들 때 로컬 컴퓨터에서 IIS를 사용하여 데이터 서비스를 개발하고 테스트하는 것이 좋습니다. IIS에서 데이터 서비스를 실행하면 디버깅하는 동안 HTTP 요청을 쉽게 추적할 수 있습니다. 또한 IIS에서 데이터 서비스에 필요한 파일, 데이터베이스 및 기타 리소스에 액세스하는 데 필요한 권한을 미리 결정할 수도 있습니다. IIS에서 데이터 서비스를 실행하려면 IIS 및 WCF(Windows Communication Foundation)를 올바르게 설치하고 구성했는지 확인하고 파일 시스템 및 데이터베이스에 있는 IIS 계정에 액세스 권한을 부여해야 합니다. 자세한 내용은 방법: IIS에서 실행되는 WCF Data Services 개발을 참조하십시오.

    Gg258442.note(ko-kr,VS.100).gif참고:
    관리자 권한으로 Visual Studio를 실행해야만 개발 환경을 사용하여 로컬 IIS 서버를 구성할 수 있습니다.

  2. Visual Studio 개발 서버

    Visual Studio에는 기본 제공 웹 서버인 Visual Studio 개발 서버가 포함되어 있으며 이 서버는 ASP.NET 프로젝트의 기본 웹 서버입니다. 이 웹 서버는 개발 중에 로컬 컴퓨터에서 ASP.NET 프로젝트를 실행하도록 디자인되었습니다. WCF Data Services 퀵 스타트에서는 Visual Studio 개발 서버에서 실행되는 데이터 서비스를 만드는 방법을 보여 줍니다.

    Visual Studio 개발 서버를 사용하여 데이터 서비스를 개발할 때 다음과 같은 제한 사항을 알고 있어야 합니다.

    • 이 서버는 로컬 컴퓨터에서만 액세스할 수 있습니다.

    • 이 서버는 HTTP 메시지의 기본 포트인 특정 포트(포트 80 제외)와 localhost에서 수신 대기합니다. 자세한 내용은 Web Servers in Visual Studio for ASP.NET Web Projects를 참조하십시오.

    • 이 서버는 현재 사용자 계정의 컨텍스트에서 데이터 서비스를 실행합니다. 예를 들어, 관리자 수준의 사용자로 실행 중인 경우 Visual Studio 개발 서버에서 실행되는 데이터 서비스는 관리자 수준의 권한을 가집니다. 따라서 데이터 서비스가 IIS 서버에 배포된 리소스 중 액세스 권한이 없는 리소스에도 액세스할 수 있습니다.

    • 이 서버에는 인증과 같은 IIS의 추가 기능이 포함되어 있지 않습니다.

    • 이 서버는 데이터 서비스에서 큰 이진 데이터에 액세스할 때 WCF Data Services 클라이언트가 기본적으로 보내는 청크된 HTTP 스트림을 처리할 수 없습니다. 자세한 내용은 스트리밍 공급자(WCF Data Services)를 참조하십시오.

    • URL의 마침표 문자(.)가 키 값에서 WCF Data Services 에 의해 지원되는 경우에도 이 서버에서 이 문자 처리와 관련된 문제가 발생합니다.

    Gg258442.Tip(ko-kr,VS.100).gif팁:
    개발 중에 Visual Studio 개발 서버를 사용하여 데이터 서비스를 테스트할 수 있지만 IIS를 실행하는 웹 서버에 데이터 서비스를 배포한 후 다시 데이터 서비스를 테스트해야 합니다.

  3. Windows Azure 개발 환경

    Visual Studio용 Windows Azure Tools에는 Visual Studio에서 Windows Azure 서비스를 개발하는 데 사용할 수 있는 통합된 도구 집합이 포함되어 있습니다. 이 도구를 사용하면 Windows Azure에 배포할 수 있는 데이터 서비스를 개발하고, 배포하기 전에 로컬 컴퓨터에서 데이터 서비스를 테스트할 수 있습니다. Visual Studio를 사용할 때 이 도구를 통해 Windows Azure 플랫폼에서 실행되는 데이터 서비스를 개발할 수 있습니다. Microsoft 다운로드 센터에서 Visual Studio용 Windows Azure Tools를 다운로드할 수 있습니다. Windows Azure에서 실행되는 데이터 서비스를 개발하는 방법에 대한 자세한 내용은 Windows Azure에서 OData 서비스 배포 게시물을 참조하십시오.

개발 팁

데이터 서비스를 개발할 때 다음 사항을 고려해야 합니다.

  • 사용자를 인증하거나 특정 사용자의 액세스를 제한하려는 경우 데이터 서비스의 보안 요구 사항을 확인해야 합니다. 자세한 내용은 WCF Data Services에 보안 설정을 참조하십시오.

  • HTTP 검사 프로그램은 요청 및 응답 메시지의 내용을 검사할 수 있도록 하여 데이터 서비스를 디버깅할 때 아주 유용할 수 있습니다. 원시 패킷을 표시할 수 있는 네트워크 패킷 분석기를 사용하여 데이터 서비스와 주고받는 HTTP 요청 및 응답을 검사할 수 있습니다.

  • 일반적인 작업을 수행할 때보다 데이터 서비스를 디버깅할 때 데이터 서비스에서 발생하는 오류에 대한 자세한 정보가 필요할 수 있습니다. DataServiceConfiguration에서 UseVerboseErrors 속성을 true로 설정하고 데이터 서비스 클래스에서 ServiceDebugBehavior 특성의 IncludeExceptionDetailInFaults 속성을 true로 설정하여 데이터 서비스에서 추가 오류 정보를 가져올 수 있습니다. 자세한 내용은 다음 항목을 참조하십시오. WCF Data Services 디버깅 WCF에서 추적 기능을 설정하여 HTTP 메시징 계층에서 발생하는 예외를 확인할 수도 있습니다. 자세한 내용은 Configuring Tracing을 참조하십시오.

  • 일반적으로 데이터 서비스는 ASP.NET 응용 프로그램 프로젝트로 개발되지만 데이터 서비스를 Visual Studio에서 ASP.NET 웹 사이트 프로젝트로 만들 수도 있습니다. 이 두 가지 형식의 프로젝트 간 차이점에 대한 자세한 내용은 Web Application Projects versus Web Site Projects를 참조하십시오.

  • Visual Studio에서 새 항목 추가 대화 상자를 사용하여 데이터 서비스를 만들면 데이터 서비스는 IIS에서 ASP.NET에 의해 호스팅됩니다. ASP.NET 및 IIS가 데이터 서비스의 기본 호스트지만 다른 호스팅 옵션도 지원됩니다. 자세한 내용은 데이터 서비스 호스팅(WCF Data Services)을 참조하십시오.

WCF Data Services 배포

WCF Data Services에서는 데이터 서비스를 호스팅하는 프로세스를 유연성 있게 선택할 수 있도록 합니다. Visual Studio를 사용하여 데이터 서비스를 다음 플랫폼에 배포할 수 있습니다.

배포 고려 사항

데이터 서비스를 배포할 때 다음 사항을 고려해야 합니다.

  • Entity Framework 공급자를 사용하여 SQL Server 데이터베이스에 액세스하는 데이터 서비스를 배포하는 경우 데이터 서비스 배포와 함께 데이터 구조, 데이터 또는 둘 다를 전파해야 할 수 있습니다. Visual Studio에서는 이 작업을 위해 대상 데이터베이스에 스크립트(.sql 파일)를 자동으로 만들며, 이 스크립트는 ASP.NET 응용 프로그램의 웹 배포 패키지에 포함될 수 있습니다. 자세한 내용은 How to: Deploy a Database With a Web Application Project를 참조하십시오. ASP.NET 웹 사이트의 경우에는 Visual Studio의 데이터베이스 게시 마법사를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 Deploying a Database by Using the Database Publishing Wizard를 참조하십시오.

  • WCF Data Services 에는 기본 WCF 구현이 포함되어 있으므로 Windows Server AppFabric을 사용하여, Windows Server에서 실행되는 IIS에 배포된 데이터 서비스를 모니터링할 수 있습니다. Windows Server AppFabric을 사용하여 데이터 서비스를 모니터링하는 방법에 대한 자세한 내용은 Windows Server AppFabric으로 WCF Data Services 추적 게시물을 참조하십시오.

참고 항목

개념

데이터 서비스 호스팅(WCF Data Services)
WCF Data Services에 보안 설정

기타 리소스

WCF Data Services 정의