//
        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);
                }
            }
        }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
 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;
     }
 }