public Task <Fault <TRequest> > HandleFault(Action <IConsumeContext <Fault <TRequest> >, Fault <TRequest> > handler) { ITaskResponseHandler <Fault <TRequest> > responseHandler = AddHandler(typeof(Fault <TRequest>), () => new CompleteTaskResponseHandler <Fault <TRequest> >(RequestId, handler)); return(responseHandler.Task); }
public Task <T> Handle <T>(Action <IConsumeContext <T>, T> handler) where T : class { ITaskResponseHandler <T> responseHandler = AddHandler(typeof(T), () => new CompleteTaskResponseHandler <T>(RequestId, handler)); return(responseHandler.Task); }
public Task <T> GetResponseTask <T>() where T : class { if (_responseHandlers.Has(typeof(T))) { ITaskResponseHandler handler = _responseHandlers[typeof(T)]; return(handler.GetTask <T>()); } throw new ArgumentException("A response handler for the specified type was not found: " + typeof(T).ToShortTypeName()); }