// protected override bool OnEndWaitForChannel(IAsyncResult result) { if (null == result) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("result"); } DoneAsyncResult doneAsyncResult = result as DoneAsyncResult; if (doneAsyncResult != null) { return(DoneAsyncResult.End(result)); } else { try { return(this.receiver.EndWaitForMessage(result)); } catch (MsmqException ex) { if (ex.FaultReceiver) { this.Fault(); } throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(ex.Normalized); } } }
private IAsyncResult BeginBeginRequest(object sender, EventArgs e, AsyncCallback cb, object extradata) { // host is available, process every requests, or file is processed if (!InWarmup() || WarmupUtility.DoBeginRequest(_context)) { var asyncResult = new DoneAsyncResult(extradata); cb(asyncResult); return asyncResult; } else { // this is the "on hold" execution path var asyncResult = new WarmupAsyncResult(cb, extradata); Await(asyncResult.Completed); return asyncResult; } }
private IAsyncResult BeginBeginRequest(object sender, EventArgs e, AsyncCallback cb, object extradata) { if (!InWarmup() || WarmupUtility.DoBeginRequest(_context)) { var asyncResult = new DoneAsyncResult(extradata); cb(asyncResult); return(asyncResult); } else { var asyncResult = new WarmupAsyncResult(cb, extradata); Await(asyncResult.Completed); return(asyncResult); } }
private IAsyncResult BeginBeginRequest(object sender, EventArgs e, AsyncCallback cb, object extradata) { // host is available, process every requests, or file is processed if (!InWarmup() || WarmupUtility.DoBeginRequest(_context)) { var asyncResult = new DoneAsyncResult(extradata); cb(asyncResult); return(asyncResult); } else { // this is the "on hold" execution path var asyncResult = new WarmupAsyncResult(cb, extradata); Await(asyncResult.Completed); return(asyncResult); } }
IAsyncResult System.ServiceModel.Channels.IInputChannel.BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state) { IAsyncResult doneAsyncResult; if (this.DoneReceivingInCurrentState()) { return(new DoneAsyncResult(true, callback, state)); } try { doneAsyncResult = this.OnBeginTryReceive(timeout, callback, state); } catch (OperationCanceledException operationCanceledException) { doneAsyncResult = new DoneAsyncResult(true, callback, state); } return(doneAsyncResult); }
private IAsyncResult BeginBeginRequest(object sender, EventArgs e, AsyncCallback cb, object extradata) { if (!InWarmup() || WarmupUtility.DoBeginRequest(_context)) { var asyncResult = new DoneAsyncResult(extradata); cb(asyncResult); return asyncResult; } else { var asyncResult = new WarmupAsyncResult(cb, extradata); Await(asyncResult.Completed); return asyncResult; } }