示例#1
0
        private static async Task RunPostJsonObjectMethod(int duration, bool newJson, string url, bool isWarmup)
        {
            if (isWarmup)
            {
                Console.WriteLine("Warmup...");
            }
            else
            {
                Console.WriteLine("Measuring...");
            }

            var running    = true;
            var iterations = 0;

            WeatherForecast value = WeatherForecast.GetSingleWeatherForecast();

            var job = Task.Run(async() =>
            {
                while (running)
                {
                    if (newJson)
                    {
                        await Http.PostAsJsonAsync(url, value);
                    }
                    else
                    {
                        await Http.PostJsonAsync(url, value);
                    }

                    iterations++;
                }
            });

            await Task.Delay(TimeSpan.FromSeconds(duration));

            running = false;

            await job;

            if (!isWarmup)
            {
                Console.WriteLine($"{iterations} iterations in {duration}s");
            }
        }