여러 버전의 WCF Data Services 작업
Open Data Protocol(OData) 을를 사용하면 HTTP를 통한 표준 인터넷 프로토콜을 사용하여 데이터 원본에 원격으로 액세스할 수 있습니다. 새로운 버전의 OData 가 출시됨에 따라 클라이언트 응용 프로그램이 데이터 서비스에서 지원하는 동일한 버전의 OData 를 사용하지 않을 수 있습니다. 이전 클라이언트 응용 프로그램이 새로운 버전의 OData 를 사용하여 데이터 서비스에 액세스할 수도 있으며, 클라이언트 응용 프로그램이 액세스되는 OData 피드보다 새로운 버전의 OData 를 지원하는 보다 새로운 버전의 WCF Data Services 클라이언트 라이브러리를 사용할 수도 있습니다.
WCF Data Services 는 OData 에서 제공하는 지원 기능을 활용하여 이러한 버전 관리 시나리오를 처리합니다. 클라이언트가 데이터 서비스에서 사용하는 것과 다른 버전의 OData 를 사용하는 경우 클라이언트 데이터 서비스 클래스를 만들기 위해 데이터 모델 메타데이터를 생성하고 사용하기 위한 지원 기능도 있습니다. 자세한 내용은 OData: Protocol Versioning을 참조하십시오.
프로토콜 버전
클라이언트가 요청하는 버전에 관계없이 데이터 서비스에서 사용할 가장 높은 버전의 OData 프로토콜을 정의하도록 데이터 서비스를 구성할 수 있습니다. 이렇게 하려면 데이터 서비스에서 사용되는 DataServiceBehavior의 MaxProtocolVersion 속성에 대한 DataServiceProtocolVersion 값을 지정합니다. 자세한 내용은 데이터 서비스 구성(WCF Data Services)을 참조하십시오.
응용 프로그램이 WCF Data Services 클라이언트 라이브러리를 사용하여 데이터 서비스에 액세스하는 경우 라이브러리는 응용 프로그램에서 사용되는 기능과 OData 의 버전에 따라 이러한 헤더를 올바른 값으로 자동으로 설정합니다. 기본적으로 WCF Data Services 는 요청된 작업을 지원하는 가장 낮은 프로토콜 버전을 사용합니다.
다음 표에서는 특정 버전의 OData 프로토콜에 대한 WCF Data Services 를 포함하는 .NET Framework 및 Silverlight 버전에 대해 자세히 설명합니다.
OData 프로토콜 버전 | 도입된 지원 |
---|---|
버전 1 |
|
버전 2 |
|
메타데이터 버전
기본적으로 WCF Data Services 는 CSDL 버전 1.1을 사용하여 데이터 모델을 나타냅니다. 이는 리플렉션 공급자 또는 사용자 지정 데이터 서비스 공급자를 기반으로 하는 데이터 모델의 경우 항상 해당됩니다. 그러나 데이터 모델이 Entity Framework 를 사용하여 정의된 경우 반환된 CSDL 버전은 Entity Framework 에서 사용되는 버전과 동일합니다. CSDL의 버전은 스키마 요소의 네임스페이스로 결정됩니다. 자세한 내용은 다음 항목을 참조하십시오. 사양 MC-CSDL: 개념적 스키마 정의 파일 형식을 참조하십시오.
반환된 메타데이터의 DataServices 요소에는 응답 메시지의 DataServiceVersion 헤더와 값이 동일한 DataServiceVersion 특성도 포함되어 있습니다. Visual Studio의 서비스 참조 추가 대화 상자와 같은 클라이언트 응용 프로그램은 이 정보를 사용하여 데이터 서비스를 호스팅하는 WCF Data Services 의 버전에서 올바르게 작동하는 클라이언트 데이터 서비스 클래스를 생성합니다. 자세한 내용은 OData: Protocol Versioning을 참조하십시오.
참고 항목
개념
데이터 서비스 공급자(WCF Data Services)