在 .NET Core Web 应用程序中,我使用中间件 (app.UseMyMiddleware) 在每个请求上添加一些日志记录:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler(MyMiddleware.GenericExceptionHandler);
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseMyMiddleware();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
Run Code Online (Sandbox Code Playgroud)
public static void UseMyMiddleware(this IApplicationBuilder app)
{
app.Use(async (context, next) =>
{
await Task.Run(() => HitDetails.StoreHitDetails(context));
await next.Invoke();
});
}
Run Code Online (Sandbox Code Playgroud)
public static void StoreHitDetails(HttpContext context)
{
var config = (IConfiguration)context.RequestServices.GetService(typeof(IConfiguration));
var settings = new Settings(config);
var connectionString = config.GetConnectionString("Common");
var features = context.Features.Get<IHttpRequestFeature>(); …Run Code Online (Sandbox Code Playgroud)