码迷,mamicode.com
首页 > Web开发 > 详细

aspnetcore的中间件

时间:2019-05-05 01:22:01      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:headers   ase   wait   str   logger   only   vat   tostring   task   

Run会终止中间件继续传递

 1 app.Run(new RequestDelegate(async context =>
 2 {
 3         await Task.Run(() =>
 4         {
 5                 context.Response.WriteAsync("被Run截取到了");
 6          });
 7 }));
 8 
 9 app.Run(new RequestDelegate(async context =>
10 {
11         await context.Response.WriteAsync("被Run截取到了");
12 }));

 Use 会继续传递

app.Use(async (context, next) =>
{
        context.Response.Headers.Add("ResponseAt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff"));
        await next();
});

Map和MapWhen

app.Map("/Test", configuration =>
            {
                configuration.Run(async context =>
                {
                    await context.Response.WriteAsync("Test被截取了");
                });
            });

            app.MapWhen(
                context => context.Request.Path.Value.Contains("Test", StringComparison.CurrentCultureIgnoreCase),
                configuration => configuration.Run(async context =>
                {
                    await context.Response.WriteAsync("带Test的被截取了");
                }));

使用UseMiddleware

public class MyMiddleware
    {
        private readonly RequestDelegate _next;

        private readonly ILogger _logger;

        private readonly string _prefix;

        public MyMiddleware(RequestDelegate next, ILoggerFactory factory, string prefix)
        {
            _next = next;
            _logger = factory.CreateLogger<MyMiddleware>();
            _prefix = prefix;
        }


        public async Task Invoke(HttpContext context)
        {
            _logger.LogInformation("" + _prefix + "" + context.Request.Path.Value);
            context.Response.Headers.Add("ResponseAt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff"));
            await _next(context);
        }
    }
app.UseMiddleware<MyMiddleware>("博客");

 

aspnetcore的中间件

标签:headers   ase   wait   str   logger   only   vat   tostring   task   

原文地址:https://www.cnblogs.com/diwu0510/p/10810630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!