protected override void OnEndSend(IAsyncResult result) { Message responseMessage = InnerChannel.EndRequest(result); if (responseMessage != null) { this.EnqueueAndDispatch(responseMessage, null, false); } this.poller.EnsurePolling(this); }
public Message EndRequest(IAsyncResult result) { Message reply = InnerChannel.EndRequest(result); if (reply != null) { this.ReadIssuedTokens(reply, MessageDirection.Output); } return(reply); }
/// <summary> /// Completes an asynchronous operation to return a message-based response to /// a transmitted request /// </summary> /// <param name="result">The System.IAsyncResult returned by a call to the System.ServiceModel.Channels.IInputChannel.BeginRequest() /// method</param> /// <returns>The System.ServiceModel.Channels.Message received in response to the request</returns> public Message EndRequest(IAsyncResult result) { Message innerMessage = InnerChannel.EndRequest(result); WCFLogger.Write(TraceEventType.Start, "Beginning to intercept response"); Message interceptedMessage = InterceptResponse(innerMessage); WCFLogger.Write(TraceEventType.Stop, "Finished intercepting response"); return(interceptedMessage); }