예제 #1
0
        public async Task Run(Action <UserIterationResult> iterationResult)
        {
            var nextTest = GetNextTest(++Iteration);

            var userSpecificClient = _loadTestHttpClient.GetClientForUser();

            var task = ExecuteTest(nextTest, userSpecificClient);

            await task.ContinueWith((task1, o) =>
            {
                iterationResult(task.Result);

                userSpecificClient.Dispose();

                return(Run(iterationResult));
            }, null, _cancellationToken.Token);
        }
예제 #2
0
        public async Task Run(Func <TimeSpan> getCurrentTimeSpan, Action <UserIterationResult> iterationResult)
        {
            // Stop Executing
            if (_cancellationToken.IsCancellationRequested)
            {
                return;
            }

            var nextTest = GetNextTest(++Iteration);

            var userSpecificClient = _loadTestHttpClient.GetClientForUser(getCurrentTimeSpan);

            var task = ExecuteTest(nextTest, userSpecificClient, getCurrentTimeSpan);

            await task.ContinueWith((task1, o) =>
            {
                iterationResult(task.Result);

                userSpecificClient.Dispose();

                return(Run(getCurrentTimeSpan, iterationResult));
            }, null, _cancellationToken.Token);
        }