Created
October 4, 2020 11:30
-
-
Save manoj-choudhari-git/a79d28c429e68705bbe0bf24071ef850 to your computer and use it in GitHub Desktop.
Simple middleware to test performance of the ASP .NET Core web application
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Startup | |
{ | |
// This method gets called by the runtime. Use this method to add services to the container. | |
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 | |
public void ConfigureServices(IServiceCollection services) | |
{ | |
} | |
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. | |
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) | |
{ | |
app.Use(async (context, next) => | |
{ | |
// Do work that doesn't write to the Response. | |
// e.g. change something in context | |
// or log something to database | |
using StreamWriter sw = File.AppendText("some-log-file.txt"); | |
Stopwatch timer = new Stopwatch(); | |
var startTime = DateTime.Now; | |
var requestId = Guid.NewGuid(); | |
sw.WriteLine("{0}: Request processing started at: {1}", requestId, startTime.ToString("MMM/dd/yyyy hh:mm:ss.ffffff tt")); | |
timer.Start(); | |
// Invoke next middleware | |
await next.Invoke(); | |
// Do logging or other work that doesn't write to the Response. | |
timer.Stop(); | |
var endTime = DateTime.Now; | |
sw.WriteLine("{0}: Request processing ended at: {1}", requestId, endTime.ToString("MMM/dd/yyyy hh:mm:ss.ffffff tt")); | |
sw.WriteLine("{0}: Ticks taken by request processing ended at: {1}", requestId, timer.Elapsed.Ticks); | |
}); | |
app.Run(async context => | |
{ | |
await context.Response.WriteAsync("My First .NET 5 Web App"); | |
}); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment