/// <summary> /// Begins processing an incoming request. /// </summary> /// <param name="handler">The method which sends the request.</param> /// <param name="request">The request.</param> /// <returns>The result object that is used to call the EndSendRequest method.</returns> public IAsyncResult BeginSendRequest( ChannelSendRequestEventHandler handler, IServiceRequest request) { m_handler = handler; m_request = request; try { // queue request. m_channel.ScheduleOutgoingRequest(this); } catch (Exception e) { m_error = e; m_response = null; // operation completed. OperationCompleted(); } return this; }