public void ExecuteUriAndCompare <TResult>(IAsyncContinuation continuation, bool isAsync, string uriString, HttpVerb verb, OperationParameter[] inputParameters, bool singleResult, DataServiceContext dataContext, ExpectedClientErrorBaseline clientExpectedError) { this.isAsynchronous = isAsync; this.ExecuteQueryAction( continuation, null, dataContext, clientExpectedError, delegate(List <object> entityPayloads, IAsyncContinuation continuation2) { AsyncHelpers.CatchErrors( continuation2, () => { this.Logger.WriteLine(LogLevel.Verbose, "Executing Invoke Action, async:{0}, Uri:{1}:", isAsync, dataContext.BaseUri + "/" + uriString); Uri builtUri = new Uri(dataContext.BaseUri + "/" + uriString); #if !SILVERLIGHT EventHandler <SendingRequest2EventArgs> sendingRequest = delegate(object sender, SendingRequest2EventArgs args) { HttpRequestMessage request = ((HttpClientRequestMessage)args.RequestMessage).HttpRequestMessage; this.VerifyActionExecuteHeaders(verb, request.Headers, inputParameters); this.VerifyCommonExecuteHeaders(request.Headers); }; dataContext.SendingRequest2 += sendingRequest; #endif dataContext.ExecuteUri <TResult>( continuation2, isAsync, builtUri, verb, inputParameters, singleResult, delegate(QueryOperationResponse <TResult> results) { var savedRes = results.ToList(); if (singleResult) { // With singleResult=true, we expected 0/1 result item. Compare() will calculate and update the expected QueryValue to be non-NullValue. this.Compare(this.expressionQueue.Peek().ExpressionType.NullValue, () => savedRes.SingleOrDefault(), dataContext); } else { // With singleResult=false, we expected multiple result items. Compare() will calculate and update the expected QueryValue to be non-NullValue. this.Compare(this.expressionQueue.Peek().ExpressionType.NullValue, () => savedRes, dataContext); } dataContext.SendingRequest2 -= sendingRequest; continuation2.Continue(); }); }); }); }
public void ExecuteUriAndCompare(IAsyncContinuation continuation, bool isAsync, string uriString, HttpVerb verb, OperationParameter[] inputParameters, DataServiceContext dataContext, ExpectedClientErrorBaseline clientExpectedError) { this.isAsynchronous = isAsync; this.ExecuteQueryAction( continuation, null, dataContext, clientExpectedError, delegate(List <object> entityPayloads, IAsyncContinuation continuation2) { AsyncHelpers.CatchErrors( continuation2, () => { this.Logger.WriteLine(LogLevel.Verbose, "Executing Invoke Action, async:{0}, Uri:{1}:", isAsync, dataContext.BaseUri + "/" + uriString); Uri builtUri = new Uri(dataContext.BaseUri + "/" + uriString); #if !SILVERLIGHT EventHandler <SendingRequest2EventArgs> sendingRequest = delegate(object sender, SendingRequest2EventArgs args) { HttpWebRequest request = ((HttpWebRequestMessage)args.RequestMessage).HttpWebRequest; this.VerifyActionExecuteHeaders(verb, request.Headers, inputParameters); this.VerifyCommonExecuteHeaders(request.Headers); }; dataContext.SendingRequest2 += sendingRequest; #endif dataContext.ExecuteUri( continuation2, isAsync, builtUri, verb, inputParameters, delegate { #if !SILVERLIGHT dataContext.SendingRequest2 -= sendingRequest; #endif continuation2.Continue(); }); }); }); }