Esempio n. 1
0
        public Task <Fault <TRequest> > HandleFault(Action <IConsumeContext <Fault <TRequest> >, Fault <TRequest> > handler)
        {
            TaskResponseHandler <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
        {
            TaskResponseHandler <T> responseHandler = AddHandler(typeof(T),
                                                                 () => new CompleteTaskResponseHandler <T>(RequestId, handler));

            return(responseHandler.Task);
        }
Esempio n. 3
0
        public Task <T> GetResponseTask <T>()
            where T : class
        {
            if (_responseHandlers.Has(typeof(T)))
            {
                TaskResponseHandler handler = _responseHandlers[typeof(T)];

                return(handler.GetTask <T>());
            }

            throw new ArgumentException("A response handler for the specified type was not found: "
                                        + typeof(T).ToShortTypeName());
        }