void CreateMessageAndEnqueue() { bool success = false; try { Fx.Assert(this.replyChannelAcceptor != null, "acceptor should not be null."); IAsyncResult result = new EnqueueMessageAsyncResult(this.replyChannelAcceptor, this.dequeuedCallback, this, onEnqueued, this); if (result.CompletedSynchronously) { EnqueueMessageAsyncResult.End(result); } success = true; } catch (Exception ex) { if (Fx.IsFatal(ex)) { throw; } FxTrace.Exception.TraceUnhandledException(ex); } if (!success) { this.SendAndClose(internalServerErrorHttpResponseMessage); } }
static void OnEnqueued(IAsyncResult result) { if (result.CompletedSynchronously) { return; } try { EnqueueMessageAsyncResult.End(result); } catch (Exception ex) { if (Fx.IsFatal(ex)) { throw; } FxTrace.Exception.TraceHandledException(ex, TraceEventType.Error); } }
internal override void EndProcessInboundRequest(IAsyncResult result) { EnqueueMessageAsyncResult.End(result); this.TraceProcessInboundRequestStop(); }