Condividi tramite


Invio in batch di operazioni (WCF Data Services)

OData (Open Data Protocol) supporta l'elaborazione batch di richieste a un servizio basato su OData . Per ulteriori informazioni, vedere OData: Elaborazione batch. In WCF Data Services ogni operazione che utilizza DataServiceContext, ad esempio l'esecuzione di una query o il salvataggio di modifiche, determina l'invio di una richiesta separata al servizio dati. Per mantenere un ambito logico per i set di operazioni, è possibile definire in modo esplicito batch operativi. In questo modo si ha la certezza che tutte le operazioni nel batch vengano inviate al servizio dati in una sola richiesta HTTP, consentendo al server di elaborare in modo unitario le operazioni e di ridurre il numero di round trip al servizio dati.

Invio in batch di operazioni di query

Per eseguire più query in un unico batch, è necessario creare ogni query del batch come istanza separata della classe DataServiceRequest. Quando si crea una richiesta di query in questo modo, la query stessa viene definita come URI a cui vengono applicate le regole per l'indirizzamento di risorse. Per ulteriori informazioni, vedere Addressing Resources (WCF Data Services). Le richieste di query in batch vengono inviate al servizio dati quando viene chiamato il metodo ExecuteBatch contenente gli oggetti della richiesta di query. Questo metodo restituisce un oggetto DataServiceResponse corrispondente a una raccolta di oggetti QueryOperationResponse che rappresentano risposte a singole query incluse nel batch, ognuna delle quali contiene una raccolta di oggetti restituiti dalla query o informazioni sull'errore. Quando una singola operazione di query inclusa nel batch ha esito negativo, le informazioni sull'errore vengono restituite nell'oggetto QueryOperationResponse per l'operazione non riuscita e le operazioni rimanenti vengono comunque eseguite. Per ulteriori informazioni, vedere Procedura: eseguire query in un batch (WCF Data Services).

Le query in batch possono inoltre essere eseguite in modo asincrono. Per ulteriori informazioni, vedere Operazioni asincrone (WCF Data Services).

Invio in batch dell'operazione SaveChanges

Quando si chiama il metodo SaveChanges, tutte le modifiche rilevate dal contesto vengono tradotte in operazioni basate su REST che vengono inviate al servizio come richieste al servizio OData . Per impostazione predefinita, queste modifiche non vengono inviate in un unico messaggio di richiesta. Per fare in modo che tutte le modifiche vengano inviate in un'unica richiesta, è necessario chiamare il metodo SaveChanges e includere il valore Batch nell'enumerazione SaveChangesOptions fornita al metodo.

È inoltre possibile salvare modifiche in batch in modo asincrono. Per ulteriori informazioni, vedere Operazioni asincrone (WCF Data Services).

Vedere anche

Altre risorse

Libreria client WCF Data Services