ASP.NET Core – Middleware
A middleware is nothing but a component (class) which is
executed on every request in ASP.NET Core application.
There will be multiple middleware in ASP.NET Core web
application.
1.
Configure
Single middleware.
2.
Configure
Multiple middleware.
3.
Configure Own
custom middleware.
4.
We can set
the order of middleware execution in the request pipeline.
The following figure illustrates the ASP.NET Core request pipeline processing.
Configure Middleware
We can configure middleware in the Configure
method of the Startup
class using IApplicationBuilder
instance
public
void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error"); // Middlewear – (1) in Pipeline
}
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello
World!");
//Middlewear – (2) in Pipeline
});
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Worker Process for hosting -> "
+
System.Diagnostics.Process.GetCurrentProcess().ProcessName); // Middlewear
– (3) in Pipeline
});
});
}
In the above example, Run()
is
an extension method on IApplicationBuilder
instance which adds a terminal middleware to the
application's request pipeline.
Understand Run Method
We used Run extension
method to add middleware. The following is the signature of the Run method:
public static void Run(this IApplicationBuilder app, RequestDelegate handler)
The Run method is an
extension method on IApplicationBuilder
and accepts a parameter of RequestDelegate
.
Understand RequestDelegate Method
The RequestDelegate
is a delegate method which handles the request to
receive the httpcontext request
public delegate Task RequestDelegate(HttpContext context);
Comments
Post a Comment