WCF Data Service
WCF Data Services 애플리케이션에서 OData(Open Data Protocol) 서비스를 만들고 사용할 수 있습니다. OData는 데이터를 URI로 주소 지정 가능한 리소스로 노출하므로 REST(표현 상태 전송) 의미 체계, 특히 GET, PUT, POST 및 DELETE의 표준 HTTP 동사를 사용하여 데이터에 액세스하고 변경할 수 있습니다. 자세한 내용은 ASP.NET 동적 데이터 콘텐츠 맵(https://go.microsoft.com/fwlink/?LinkId=199029), WCF Data Services() 및 WCF REST 시작 키트에https://go.microsoft.com/fwlink/?LinkId=199030 대한 개발자 가이드(https://go.microsoft.com/fwlink/?LinkId=199031)를 참조하세요.
이 항목에는 다음과 같은 섹션이 포함되어 있습니다.
WCF 데이터 서비스 추가
이 연습은 동적 데이터 웹의 동적 데이터 웹 연습을 기반으로 합니다. Visual Studio 템플릿을 사용하여 WCF Data Service를 만들려면 다음 단계를 수행합니다.
솔루션 탐색기 프로젝트 이름 DynamicData를 마우스 오른쪽 단추로 클릭합니다. 새 항목 추가 대화 상자가 표시됩니다.
설치된 템플릿의 왼쪽 창에서 Visual C#을 선택합니다.
가운데 창에서 WCF Data Service를 선택합니다.
이름 상자에 데이터 서비스의 이름을 입력합니다. 예를 들어 WcfDataServiceDB2.svc 라는 이름을 입력하고 추가를 클릭합니다.
중요
리소스 또는 연결에 액세스하려면 먼저 리소스에 대한 액세스를 명시적으로 사용하도록 설정해야 합니다. 서비스와 연결된 엔터티 데이터 모델의 모든 리소스에 대한 읽기 및 쓰기 액세스를 사용하도록 설정하려면 InitializeService 메서드를 찾아 예제에 표시된 것과 일치하는지 확인합니다.
WCF 데이터 서비스 구성
WcfDataServiceDB2.cs 파일에서 코드 주석을 로
SAMPLEModel.SAMPLEEntities
바꿉니다/* TODO: put your data source class name here */
.public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities>
다음 단계는 Data Service에서 노출하는 엔터티에 대한 액세스를 허용하는 것입니다. 기본적으로 모든 엔터티 집합에 대한 액세스는 허용되지 않습니다. 각 엔터티 집합에 대한 액세스를 허용해야 합니다.
WcfDataServiceDB2.cs 파일에서 구성이 포함된 코드의 주석 처리를 제거합니다. SetEntitySetAccessRule. MyEntitySet을 별표(*)로 바꾸고 AllRead를 모두로 바꿉니다.
using System; using System.Data.Services; using System.Data.Services.Common; using System.Collections.Generic; using System.Linq; using System.ServiceModel.Web; public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities> { // This method is called only once to initialize service-wide policies. public static void InitializeService(DataServiceConfiguration config) { // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc. // Examples: config.SetEntitySetAccessRule("*", EntitySetRights.All); // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All); config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; } }
파일 메뉴에서 저장 WcfDataServiceDB2.cs를 클릭합니다.
솔루션 탐색기 WcfDataServiceDB2.svc를 마우스 오른쪽 단추로 클릭하고 시작 페이지로 설정을 선택합니다.
WCF Data Service에서 사용할 인터넷 Explorer 구성
다음 단계에 따라 WCF Data Service를 RSS 피드로 표시하도록 인터넷 Explorer 구성합니다.
도구 메뉴에서 인터넷 옵션을 클릭한 다음 콘텐츠를 클릭합니다.
인터넷 옵션 대화 상자의 콘텐츠 창이 표시됩니다.
피드 및 웹 조각에 대한 설정을 클릭합니다. 피드 읽기 보기 검사 켜기 상자를 선택 해제하고 확인을 클릭합니다.
WCF 데이터 서비스 테스트
다음 단계에 따라 만든 WCF Data Service를 테스트합니다.
디버그 메뉴에서 디버깅 시작을 클릭합니다. 디버깅을 사용하도록 설정하라는 메시지가 표시되면 확인을 클릭합니다. 인터넷 Explorer WCF Data Service를 표시합니다.
OData는 URI로 주소를 지정할 수 있는 리소스로 데이터를 노출합니다. 리소스 경로는 엔터티 데이터 모델의 엔터티-관계 규칙을 기반으로 생성됩니다. 이 모델에서 엔터티는 DEPARTMENT 및 EMPLOYE와 같은 애플리케이션 도메인의 데이터 운영 단위를 나타냅니다.
인터넷 Explorer 데이터 서비스를 통해 DB2 테이블의 모든 레코드를 반환하는 URI를 입력합니다.
OData에서 엔터티 리소스를 엔터티 형식의 인스턴스를 포함하는 엔터티 집합으로 처리합니다. 예를 들어 URI
http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders
는 CustomerID 값이 ALFKI인 고객과 관련된 Northwind 데이터 서비스의 모든 주문을 반환합니다.http://localhost:36651/DynamicData/WcfDataServiceDB2.svc/DEPARTMENTs
데이터베이스 레코드 보기를 마쳤으면 브라우저를 닫습니다.