public static void Configure(ApplicationBuilder app) { app.Run(context => { return context.Response.WriteAsync("Hello World!"); }); }
public async Task Main(string[] args) { var app = new ApplicationBuilder(_serviceProvider); var payload = Encoding.UTF8.GetBytes("HelloWorld"); app.Run(context => { return context.Response.Body.WriteAsync(payload, 0, payload.Length); }); var requestDelegate = app.Build(); #if DNX451 Console.WriteLine($"Hit Enter to start test, PID {Process.GetCurrentProcess().Id}"); Console.ReadLine(); #endif var requestCount = 5000000; var started = DateTime.UtcNow; var userAgent = new KeyValuePair<string, string[]>("User-Agent", new[] { "InlineTest" }); for (int i = 0; i < requestCount; i++) { var httpContext = new DefaultHttpContext(); //httpContext.Request.Method = "GET"; httpContext.Request.Headers.Add(userAgent); //httpContext.Request.Headers.Add("Accept", new[] { "text/html;text/plain" }); await requestDelegate(httpContext); } var elapsed = DateTime.UtcNow - started; Console.WriteLine($"Completed {requestCount} requests in {elapsed}"); Console.WriteLine($"Requests/sec: {requestCount/elapsed.TotalSeconds}"); Console.WriteLine("Hit Enter to force a GC"); Console.ReadLine(); Console.Write("GC started..."); GC.Collect(); Console.WriteLine("finished!"); Console.WriteLine(); Console.ReadLine(); }