public static IAsyncResult CreateAbandon(HttpAcknowledgementReceiveContext receiver, TimeSpan timeout, AsyncCallback callback, object state) { IAsyncResult receiveContextAsyncResult = new ReceiveContextAsyncResult(receiver, timeout, callback, state); ThreadPool.QueueUserWorkItem(onAbandon, receiveContextAsyncResult); return(receiveContextAsyncResult); }
public ReceiveContextAsyncResult(HttpAcknowledgementReceiveContext receiver, TimeSpan timeout, AsyncCallback callback, object state) : base(callback, state) { this.timeoutHelper = new TimeoutHelper(timeout); this.receiver = receiver; }
public CompleteAsyncResult(HttpAcknowledgementReceiveContext receiver, TimeSpan timeout, AsyncCallback callback, object state) : base(callback, state) { this.receiver = receiver; this.reply = HttpAcknowledgementReceiveContext.CreateMessageWithHttpStatusCode(HttpStatusCode.OK); bool cleanupMessage = true; try { IAsyncResult result = this.receiver.requestContext.BeginReply(this.reply, timeout, onReplyComplete, this); if (!result.CompletedSynchronously) { cleanupMessage = false; return; } this.receiver.requestContext.EndReply(result); } finally { if (cleanupMessage) { this.reply.Close(); } } this.Complete(true); }
public static IAsyncResult CreateComplete(HttpAcknowledgementReceiveContext receiver, TimeSpan timeout, AsyncCallback callback, object state) { IAsyncResult receiveContextAsyncResult = new ReceiveContextAsyncResult(receiver, timeout, callback, state); ThreadPool.QueueUserWorkItem(onComplete, receiveContextAsyncResult); return receiveContextAsyncResult; }