ASP.NET Core怎么开发中间件

发布时间:2021-12-06 14:49:21 作者:iii
来源:亿速云 阅读:130

本篇内容介绍了“ASP.NET Core怎么开发中间件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

开发中间件(Middleware)

今天我们来实现一个记录ip 的中间件。

1.新建一个asp.net core项目,选择空的模板。

然后为项目添加一个 Microsoft.Extensions.Logging.Console

NuGet 命令行 ,请使用官方源。

Install-Package Microsoft.Extensions.Logging.Console -Pre

2.新建一个类: RequestIPMiddleware.cs

public class RequestIPMiddleware
    {      
        private readonly RequestDelegate _next;
       private readonly ILogger _logger;

       public RequestIPMiddleware(RequestDelegate next, ILoggerFactory loggerFactory)        {            _next = next;            _logger = loggerFactory.CreateLogger<RequestIPMiddleware>();        }      
       
       public async Task Invoke(HttpContext context)        {                        _logger.LogInformation("User IP: " + context.Connection.RemoteIpAddress.ToString());    
        await _next.Invoke(context);        }    }

3.再新建一个:RequestIPExtensions.cs

public static class RequestIPExtensions
    {       
       public static IApplicationBuilder UseRequestIP(this IApplicationBuilder builder)        {            return builder.UseMiddleware<RequestIPMiddleware>();        }    }

这样我们就编写好了一个中间件。

使用中间件(Middleware)

1.使用

在 Startup.cs 添加 app.UseRequestIP()

public void Configure(IApplicationBuilder app, ILoggerFactory loggerfactory)
        {
            loggerfactory.AddConsole(minLevel: LogLevel.Information);
            app.UseRequestIP();//使用中间件app.Run(async (context) =>
            {                await context.Response.WriteAsync("Hello World!");
            });
        }

然后运行程序,我选择使用Kestrel 。

访问:http://localhost:5000/

“ASP.NET Core怎么开发中间件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. ASP.NET Core HTTP 管道中的那些事儿
  2. 十二个 ASP.NET Core 例子

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

asp.net core

上一篇:如何在ASP.NET Core程序启动前运行代码

下一篇:ASP.net mvc面试题有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》