/// <summary> /// Send a request sync /// </summary> /// <typeparam name="T"></typeparam> /// <param name="event"></param> /// <param name="triggerOption"></param> /// <returns></returns> public T Send <T>(IRequestTrigger @event, TriggerOption triggerOption) { var asyncTask = SendAsync <T>(@event, triggerOption); asyncTask.ConfigureAwait(false); return(asyncTask.Result); }
/// <summary> /// Get the all handler factory of a request /// </summary> /// <param name="request">request object</param> /// <returns></returns> public List <IHandlerFactory> GetHandlerFactoriesForRequest(IRequestTrigger request) { return(GetOrCreateHandlerFactories(GetRequestName(request.GetType()))); }
/// <summary> /// Send a request async /// </summary> /// <typeparam name="T"></typeparam> /// <param name="event"></param> /// <param name="triggerOption"></param> /// <returns></returns> public Task <T> SendAsync <T>(IRequestTrigger @event, TriggerOption triggerOption) { return(ProcessRequest <T>(_requestHandlerManager.GetRequestName(@event.GetType()), JsonConvert.SerializeObject(@event), triggerOption)); }
/// <summary> /// Send a request async /// </summary> /// <typeparam name="T"></typeparam> /// <param name="event"></param> /// <returns></returns> public Task <T> SendAsync <T>(IRequestTrigger @event) { return(SendAsync <T>(@event, new TriggerOption(false))); }
/// <summary> /// Send a request sync /// </summary> /// <typeparam name="T"></typeparam> /// <param name="event"></param> /// <returns></returns> public T Send <T>(IRequestTrigger @event) { return(Send <T>(@event, new TriggerOption())); }