Realizar operaciones por lotes (WCF Data Services)

Open Data Protocol (OData) admite procesamiento por lotes de solicitudes en un servicio basado en OData . Para obtener más información, vea OData: Batch Processing. En WCF Data Services , cada operación que use la clase DataServiceContext, como ejecutar una consulta o guardar cambios, tiene como resultado el envío de una solicitud independiente al servicio de datos. Para mantener un número razonable de conjuntos de operaciones, puede definir los lotes operacionales explícitamente. Esto garantiza que todas las operaciones del lote se envían al servicio de datos en una única solicitud HTTP, permite al servidor procesar las operaciones automáticamente y reduce el número de viajes de ida y vuelta (round trip) al servicio de datos.

Operaciones de consulta por lotes

Para ejecutar varias consultas en un lote único, debe crear cada consulta en el lote como una instancia independiente de la clase DataServiceRequest. Al crear una solicitud de consulta de esta manera, la propia consulta se define como un URI y sigue las reglas para el redireccionamiento de recursos. Para obtener más información, vea Addressing Resources (WCF Data Services). Las solicitudes de consulta por lotes se envían al servicio de datos cuando se llama al método ExecuteBatch, que contiene los objetos de la solicitud de consulta. Este método devuelve un objeto DataServiceResponse, que es una colección de objetos QueryOperationResponse que representan las respuestas a las consultas individuales del lote, cada una de los cuales contiene una colección de los objetos devueltos por la consulta o la información del error. Cuando se produce un error en cualquier operación de consulta única en el lote, se devuelve la información del error en el objeto QueryOperationResponse para la operación fallida, pero se siguen ejecutando las operaciones restantes. Para obtener más información, vea Cómo: Ejecutar consultas por lotes (WCF Data Services).

Las consultas por lotes se pueden ejecutar también de forma asincrónica. Para obtener más información, vea Operaciones asincrónicas (WCF Data Services).

Procesamiento por lotes de la operación SaveChanges

Al llamar al método SaveChanges, todos los cambios detectados por el contexto se traducen en operaciones basadas en REST, que se envían como solicitudes al servicio OData . De forma predeterminada, estos cambios no se envían en un mensaje de solicitud único. Para requerir que todos los cambios se envíen en una solicitud única, debe llamar al método SaveChanges e incluir un valor de Batch en la enumeración SaveChangesOptions que proporcione al método.

También puede guardar de forma asincrónica los cambios por lotes. Para obtener más información, vea Operaciones asincrónicas (WCF Data Services).

Vea también

Otros recursos

Biblioteca de cliente de WCF Data Services