资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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怎么开发中间件
URL网址:http://cdkjz.cn/article/peceph.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220