일괄 처리 작업(WCF Data Services)
Open Data Protocol(OData) 을를 OData 기반 서비스에 대한 요청의 일괄 처리를 지원합니다. 자세한 내용은 OData: Batch Processing을 참조하십시오. WCF Data Services 에서 쿼리 실행 또는 변경 내용 저장과 같이 DataServiceContext를 사용하는 각 작업을 수행하면 별도의 요청이 데이터 서비스로 전송됩니다. 작업 집합에 대해 논리적 범위를 유지하려면 작업 일괄 처리를 명시적으로 정의합니다. 이렇게 하면 일괄 처리의 모든 작업이 단일 HTTP 요청으로 데이터 서비스에 전송되고, 서버에서 작업을 개별적으로 처리할 수 있으며, 데이터 서비스에 대한 왕복 수가 줄어듭니다.
쿼리 작업 일괄 처리
여러 쿼리를 단일 일괄 처리로 실행하려면 일괄 처리의 각 쿼리를 별도의 DataServiceRequest 클래스 인스턴스로 만들어야 합니다. 이런 방식으로 쿼리 요청을 만들면 쿼리 자체가 URI로 정의되며 리소스의 주소 지정 규칙을 따릅니다. 자세한 내용은 Addressing Resources (WCF Data Services)을 참조하십시오. 쿼리 요청 개체가 포함된 ExecuteBatch 메서드를 호출하면 일괄 처리된 쿼리 요청 결과가 데이터 서비스로 전송됩니다. 이 메서드는 일괄 처리에 포함된 개별 쿼리에 대한 응답을 나타내며 각각 쿼리에서 반환된 개체 컬렉션이나 오류 정보를 포함하는 QueryOperationResponse 개체의 컬렉션인 DataServiceResponse 개체를 반환합니다. 일괄 처리에서 단일 쿼리 작업이 실패하면 QueryOperationResponse 개체에 실패한 작업에 대한 오류 정보가 반환되며 나머지 작업은 계속 실행됩니다. 자세한 내용은 방법: 일괄 처리로 쿼리 실행(WCF Data Services)을 참조하십시오.
일괄 처리된 쿼리를 비동기적으로 실행할 수도 있습니다. 자세한 내용은 비동기 작업(WCF Data Services)을 참조하십시오.
SaveChanges 작업 일괄 처리
SaveChanges 메서드를 호출하면 컨텍스트에서 추적하는 모든 변경 내용이 OData 서비스에 대한 요청으로 전송되는 REST 기반 작업으로 변환됩니다. 기본적으로 이러한 변경 내용은 단일 요청 메시지로 전송되지 않습니다. 모든 변경 내용을 단일 요청으로 보내도록 하려면 SaveChanges 메서드를 호출하고 메서드에 제공하는 SaveChangesOptions 열거형에 Batch 값을 포함해야 합니다.
일괄 처리된 변경 내용을 비동기적으로 저장할 수도 있습니다. 자세한 내용은 비동기 작업(WCF Data Services)을 참조하십시오.