public static async Task <ActionResult <TResult> > ExecuteToActionResultAsync <TResult>( IMediatorClient client, ActivityId activityId, TRequest request, Func <TResponse, TResult> extractResult, ActivityExecutionConfiguration activityExecutionConfiguration, System.Threading.CancellationToken requestAborted) { try { using var connected = await client.ConnectAndSendAsync( activityId, request, activityExecutionConfiguration, requestAborted); var response = await connected.WaitForAsync(activityExecutionConfiguration, requestAborted); return(response.ConvertResponseToActionResult <TResponse, TResult>(extractResult)); } catch (System.Exception error) { return(new ObjectResult(error.Message) { StatusCode = 500 }); } }
public CreateClientConnectedArguments( IMediatorServiceInternalUse medaitorService, IMediatorClient medaitorClient, ActivityId activityId, RequestRelatedType requestRelatedType ) { this.MedaitorService = medaitorService; this.MedaitorClient = medaitorClient; this.ActivityId = activityId; this.RequestRelatedType = requestRelatedType; }
public Task <IMediatorClientConnected <TRequest> > ConnectAsync <TRequest>(IMediatorClient medaitorClient, TRequest request, CancellationToken cancellationToken) { throw new NotImplementedException(); }