/// <summary> /// Execute MQ with requestContext /// </summary> public object ExecuteMessage(IMessage dto, IRequest req) { req.Dto = dto.Body; if (HostContext.ApplyMessageRequestFilters(req, req.Response, dto.Body)) { return(req.Response.Dto); } var response = Execute(dto.Body, req); var taskResponse = response as Task; if (taskResponse != null) { //Ensure messages are executed synchronously taskResponse.Wait(); response = taskResponse.GetResult(); } if (HostContext.ApplyMessageResponseFilters(req, req.Response, response)) { return(req.Response.Dto); } return(response); }
/// <summary> /// Execute MQ with requestContext /// </summary> public object ExecuteMessage <T>(IMessage <T> dto, IRequest req) { if (HostContext.ApplyMessageRequestFilters(req, req.Response, dto.Body)) { return(req.Response.Dto); } var response = Execute(dto.Body, req); if (HostContext.ApplyMessageResponseFilters(req, req.Response, response)) { return(req.Response.Dto); } return(response); }