public void CanBatchQueriesWithDataServicesClient() { Uri serviceUrl = new Uri(BaseAddress + "/UnbufferedBatch"); UnbufferedBatchProxy.Container client = new UnbufferedBatchProxy.Container(serviceUrl); client.Format.UseJson(); Uri customersRequestUri = new Uri(BaseAddress + "/UnbufferedBatch/UnbufferedBatchCustomer"); DataServiceRequest <UnbufferedBatchProxy.UnbufferedBatchCustomer> customersRequest = new DataServiceRequest <UnbufferedBatchProxy.UnbufferedBatchCustomer>(customersRequestUri); Uri singleCustomerRequestUri = new Uri(BaseAddress + "/UnbufferedBatch/UnbufferedBatchCustomer(0)"); DataServiceRequest <UnbufferedBatchProxy.UnbufferedBatchCustomer> singleCustomerRequest = new DataServiceRequest <UnbufferedBatchProxy.UnbufferedBatchCustomer>(singleCustomerRequestUri); DataServiceResponse batchResponse = client.ExecuteBatchAsync(customersRequest, singleCustomerRequest).Result; if (batchResponse.IsBatchResponse) { Assert.Equal(200, batchResponse.BatchStatusCode); } foreach (QueryOperationResponse response in batchResponse) { Assert.Equal(200, response.StatusCode); if (response.Query.RequestUri == customersRequestUri) { Assert.Equal(10, response.Cast <UnbufferedBatchProxy.UnbufferedBatchCustomer>().Count()); continue; } if (response.Query.RequestUri == singleCustomerRequestUri) { Assert.Equal(1, response.Cast <UnbufferedBatchProxy.UnbufferedBatchCustomer>().Count()); continue; } } }
public async Task CanBatchQueriesWithDataServicesClient() { Uri serviceUrl = new Uri(BaseAddress + "/UnbufferedBatch"); UnbufferedBatchProxy.Container client = new UnbufferedBatchProxy.Container(serviceUrl); client.Format.UseJson(); Uri customersRequestUri = new Uri(BaseAddress + "/UnbufferedBatch/UnbufferedBatchCustomer"); DataServiceRequest <UnbufferedBatchProxy.UnbufferedBatchCustomer> customersRequest = new DataServiceRequest <UnbufferedBatchProxy.UnbufferedBatchCustomer>(customersRequestUri); Uri singleCustomerRequestUri = new Uri(BaseAddress + "/UnbufferedBatch/UnbufferedBatchCustomer(0)"); DataServiceRequest <UnbufferedBatchProxy.UnbufferedBatchCustomer> singleCustomerRequest = new DataServiceRequest <UnbufferedBatchProxy.UnbufferedBatchCustomer>(singleCustomerRequestUri); DataServiceResponse batchResponse = await client.ExecuteBatchAsync(customersRequest, singleCustomerRequest); if (batchResponse.IsBatchResponse) { Assert.Equal(200, batchResponse.BatchStatusCode); } foreach (QueryOperationResponse response in batchResponse) { Assert.Equal(200, response.StatusCode); if (response.Query.RequestUri == customersRequestUri) { // Previous test could modify the total count to be anywhere from, 10 to 14. Assert.InRange(response.Cast <UnbufferedBatchProxy.UnbufferedBatchCustomer>().Count(), 10, 14); continue; } if (response.Query.RequestUri == singleCustomerRequestUri) { Assert.Single(response.Cast <UnbufferedBatchProxy.UnbufferedBatchCustomer>()); continue; } } }