Esempio n. 1
0
        public async Task <IActionResult> RunAsync([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "deferred/{uri}")] HttpRequest req, string uri)
        {
            var result = await _deferredResponseService.ResolveResponseAsync <JObject>(new DeferredResponse(uri));

            if (result == null)
            {
                return(new NotFoundResult());
            }

            return(new OkObjectResult(result));
        }
Esempio n. 2
0
    public async Task <ICommandResponse <TResponse> > HandleCommandAsync(TRequest request)
    {
        var dispatchedRequest = await _asyncDispatcher.DispatchRequestAsync(request);

        try
        {
            await dispatchedRequest.ActivityTracker.WaitAsync(TimeSpan.FromSeconds(1));
        }
        catch (TimeoutException)
        {
        }

        if (dispatchedRequest.ActivityTracker.IsCompleted)
        {
            var response = await _deferredResponseService.ResolveResponseAsync <TResponse>(dispatchedRequest.DeferredResponse);

            return(new CommandResponse <TResponse>(response));
        }
        else
        {
            _asyncDispatcher.AbandonRequest(dispatchedRequest);
            return(new CommandResponse <TResponse>(dispatchedRequest.DeferredResponse));
        }
    }