快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

ASP.NETCore怎么开发中间件

本篇内容介绍了“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();        }      
       
       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();        }    }

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

使用中间件(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怎么开发中间件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站栏目:ASP.NETCore怎么开发中间件
地址分享:http://6mz.cn/article/peceph.html

其他资讯