private Task <TResult> DispatchAsync <TParam1, TParam2, TParam3, TResult>(TPayloadBase payload, string contentType, string handlerClass, TParam1 param1, TParam2 param2, TParam3 param3)
        {
            IAsyncContentHandlerWithResult <TPayloadBase, TParam1, TParam2, TParam3, TResult> handler = this.serviceProvider.GetRequiredContent <IAsyncContentHandlerWithResult <TPayloadBase, TParam1, TParam2, TParam3, TResult> >(ContentHandlerUtilities.GetHandlerContentType(contentType, handlerClass));

            return(handler.HandleAsync(payload, param1, param2, param3));
        }
        private TResult Dispatch <TParam1, TParam2, TResult>(TPayloadBase payload, string contentType, string handlerClass, TParam1 param1, TParam2 param2)
        {
            IContentHandlerWithResult <TPayloadBase, TParam1, TParam2, TResult> handler = this.serviceProvider.GetRequiredContent <IContentHandlerWithResult <TPayloadBase, TParam1, TParam2, TResult> >(ContentHandlerUtilities.GetHandlerContentType(contentType, handlerClass));

            return(handler.Handle(payload, param1, param2));
        }
        private void Dispatch <TParam1, TParam2, TParam3>(TPayloadBase payload, string contentType, string handlerClass, TParam1 param1, TParam2 param2, TParam3 param3)
        {
            IContentHandler <TPayloadBase, TParam1, TParam2, TParam3> handler = this.serviceProvider.GetRequiredContent <IContentHandler <TPayloadBase, TParam1, TParam2, TParam3> >(ContentHandlerUtilities.GetHandlerContentType(contentType, handlerClass));

            handler.Handle(payload, param1, param2, param3);
        }
 private async Task DispatchAsync <TParam1, TParam2, TParam3>(TPayloadBase payload, string contentType, string handlerClass, TParam1 param1, TParam2 param2, TParam3 param3)
 {
     IAsyncContentHandler <TPayloadBase, TParam1, TParam2, TParam3> handler = this.serviceProvider.GetRequiredContent <IAsyncContentHandler <TPayloadBase, TParam1, TParam2, TParam3> >(ContentHandlerUtilities.GetHandlerContentType(contentType, handlerClass));
     await handler.HandleAsync(payload, param1, param2, param3).ConfigureAwait(false);
 }
        private void Dispatch(TPayloadBase payload, string contentType, string handlerClass)
        {
            IContentHandler <TPayloadBase> handler = this.serviceProvider.GetRequiredContent <IContentHandler <TPayloadBase> >(ContentHandlerUtilities.GetHandlerContentType(contentType, handlerClass));

            handler.Handle(payload);
        }