当前位置: 首页 > news >正文

看一个网站是哪里做的Wordpress 仿站 工具

看一个网站是哪里做的,Wordpress 仿站 工具,wordpress 修改登录,网站建设 深圳信科公司前言 今天我们一起来盘点一下在ASP.NET Core应用程序中添加和创建中间件常见的四种方式。 中间件介绍 ASP.NET Core中间件(Middleware)是用于处理HTTP请求和响应的组件,它们被安排在请求处理管道中,并按顺序执行。中间件的设计是为…

前言

今天我们一起来盘点一下在ASP.NET Core应用程序中添加和创建中间件常见的四种方式。

中间件介绍

ASP.NET Core中间件(Middleware)是用于处理HTTP请求和响应的组件,它们被安排在请求处理管道中,并按顺序执行。中间件的设计是为了使其在请求处理管道中能够以灵活和可扩展的方式处理 HTTP 请求和响应。

下图显示了 ASP.NET Core MVC 和 Razor Pages 应用的完整请求处理管道:

了解现有中间件的顺序,以及在哪里添加自定义中间件。你可以完全控制如何重新排列现有中间件,或根据场景需要注入新的自定义中间件。

中间件用途

开发者通过在请求处理管道中添加不同的中间件(Middleware)组件,可以实现应用程序的认证和授权、日志记录、异常处理、静态文件处理、路由和端点映射、CORS(跨域资源共享)、会话管理、请求压缩、国际化和本地化、缓存等各种功能。

通过请求委托添加中间件

我们可以通过在 WebApplication 实例上调用 Use 方法,并提供一个带有两个参数的 lambda 方法来实现。第一个参数是 HttpContext,第二个参数是管道中的实际下一个请求委托。

            var builder = WebApplication.CreateBuilder(args);var app = builder.Build();app.Use(async (context, next) =>{// 在这里处理请求// ...await next.Invoke();// 在这里处理响应// ...});app.Run();

按约定添加中间件

ASP.NET Core中提供了许多内置中间件,例如静态文件中间件、路由、认证、授权中间件等。这些中间件通常已经预先定义好了,开发者只需按照约定调用相应的方法即可。

            var builder = WebApplication.CreateBuilder(args);var app = builder.Build();// 使用静态文件中间件app.UseStaticFiles();// 使用路由中间件app.UseRouting();// 使用认证中间件app.UseAuthentication();// 使用授权中间件app.UseAuthorization();app.Run();

创建自定义中间件类

创建自定义中间件类

首先我们创建一个自定义中间件类 RequestLoggingMiddleware,它将记录每个请求的详细信息。

    public class RequestLoggingMiddleware{private readonly RequestDelegate _next;public RequestLoggingMiddleware(RequestDelegate next){_next = next;}public async Task InvokeAsync(HttpContext context){// 记录请求信息Console.WriteLine($"Request Method: {context.Request.Method}");Console.WriteLine($"Request Path: {context.Request.Path}");// 调用下一个中间件await _next(context);// 记录响应状态码Console.WriteLine($"Response Status Code: {context.Response.StatusCode}");}}

创建扩展方法

为了方便在应用程序中注册中间件,我们可以创建一个扩展方法。

    public static class RequestLoggingMiddlewareExtensions{public static IApplicationBuilder UseRequestLogging(this IApplicationBuilder builder){return builder.UseMiddleware<RequestLoggingMiddleware>();}}

在应用程序中使用自定义中间件

在 Program.cs 文件中,使用自定义中间件。

            var builder = WebApplication.CreateBuilder(args);var app = builder.Build();// 使用自定义中间件app.UseRequestLogging();app.Run();

添加基于工厂的中间件

IMiddlewareFactory 是 ASP.NET Core 中用于创建和管理中间件实例的接口。它提供了一种灵活的方式来控制中间件的创建和生命周期管理,特别是在需要复杂依赖注入或条件实例化的场景中。

创建自定义中间件工厂

实现 IMiddlewareFactory 接口的自定义工厂类。

    public class CustomMiddlewareFactory(IServiceProvider serviceProvider) : IMiddlewareFactory{private readonly IServiceProvider _serviceProvider = serviceProvider;public IMiddleware? Create(Type middlewareType){// 使用服务提供者创建中间件实例return _serviceProvider.GetService(middlewareType) as IMiddleware;}public void Release(IMiddleware middleware){// 如果需要,可以在这里释放中间件实例(容器负责释放资源)(middleware as IDisposable)?.Dispose();}}

创建自定义中间件

实现 IMiddleware 接口的自定义中间件类。

    public class CustomMiddleware : IMiddleware{public async Task InvokeAsync(HttpContext context, RequestDelegate next){Console.WriteLine("在这里处理请求.......");await next(context);Console.WriteLine("在这里处理响应.......");}}

注册中间件和工厂

在 Program.cs 文件中注册自定义中间件和工厂。

            var builder = WebApplication.CreateBuilder(args);// 注册中间件和工厂到依赖注入容器builder.Services.AddTransient<CustomMiddleware>();builder.Services.AddTransient<IMiddlewareFactory, CustomMiddlewareFactory>();var app = builder.Build();// 使用基于工厂的中间件app.UseMiddleware<CustomMiddleware>();app.Run();

最后总结

在ASP.NET Core中添加和创建中间件的方式有很多种,本文列举了四种常见的方式,具体取决于你的需求和偏好。每种方式都有其适用的场景,选择合适的方法可以使你的代码更加简洁和易于维护。

文章转载自:追逐时光者

原文链接:https://www.cnblogs.com/Can-daydayup/p/18297439

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

http://www.sczhlp.com/news/95709/

相关文章:

  • 怎么用目录建wordpress站点wordpress wp
  • 打开网站弹出qqwordpress dns
  • 网站设计制作上海东莞常平新楼盘
  • 云服务器可以做两个网站网站手机端怎么制作教程
  • 江西网站建设推广国内跨境电商平台排行榜前十名
  • 国内看网站 优帮云磁力狗在线引擎
  • 站长之家seofedora做网站服务器
  • 免费网站建设软件云服务器可以做图片外链网站吗
  • 网站建设招标 报告seo排名软件免费
  • 北京网站制作出名 乐云践新海外购物商城
  • 0基础建设网站服装配件网站建设 中企动力
  • 网络平台开展职业培训网站建设网站制作方案答案是螃蟹的迷语
  • 哪家网站开发好怎么建设一个网站并顺利打开浏览
  • 做网站多少钱一年网页设计作品田田田田田田田田田田田田田田
  • 企业网站建设的研究开发方法及技术路线推荐网站制作公司
  • 做网站jsp和php做网站花都
  • 天津网站优化公司电话做图骂人的图片网站
  • 网站建设一条全案营销的案例及成功案例
  • 出租网站空间同ip网站
  • 长春网页建站模板佛山网页网站设计多少钱
  • 深圳网站维护有限公司个人seo怎么赚钱
  • 网站建设贰金手指下拉深圳营销型网站建设优化
  • 云主机添加网站云南昆明百度推广公司
  • 怎样建自己的网站网站建设制作包括哪些方面
  • m导航网站如何做淘宝客县城网站怎样做经验
  • 以下不属于网站建设优化网页设计html代码大全继承关系
  • 路由器做网站怎么做网页的欢迎页面
  • 营销型网站建设工资建筑设计说明万能模板
  • o2o电子商务模式是指网站优化公司收费
  • 江夏网站建设网页布局设计说明