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

建设网站所采用的技术高新区建网站外包

建设网站所采用的技术,高新区建网站外包,深圳网站开发教程,800元做小程序网站目录 一、常见的内置中间件 二、自定义中间件 三、中间件的执行顺序 四、其他自动逸中间件案例 1. 身份验证中间件 2、跨域中间件(CORS) ASP.NET Core 中,中间件(Middleware)是处理 HTTP 请求和响应的组件链。你…

目录

一、常见的内置中间件

二、自定义中间件

三、中间件的执行顺序

四、其他自动逸中间件案例

1. 身份验证中间件

2、跨域中间件(CORS)


ASP.NET Core 中,中间件(Middleware)是处理 HTTP 请求和响应的组件链。你可以在 Startup.csProgram.cs 中通过 app.UseMiddleware<T>() 来添加中间件。除了使用内置的中间件,ASP.NET Core 允许你定义自己的中间件,以满足特定的业务需求。

一、常见的内置中间件

app.UseMiddleware 之前,ASP.NET Core 已经提供了很多常见的中间件,适用于不同的功能需求:

二、自定义中间件

        自定义中间件可以帮助你在 ASP.NET Core 应用中实现各种业务逻辑,如身份验证、日志记录、性能监控、错误处理、请求响应修改等。通过 app.UseMiddleware<T>() 可以将自定义中间件添加到请求管道中,实现灵活、可定制的功能。

创建中间件类: 中间件通常是一个类,它包含一个 InvokeInvokeAsync 方法,该方法接收 HttpContext 并返回一个 Task,通常会在方法内部执行一些逻辑,然后调用管道中的下一个中间件。

例如,定义一个简单的日志记录中间件:

public class LoggingMiddleware
{private readonly RequestDelegate _next;public LoggingMiddleware(RequestDelegate next){_next = next;}public async Task InvokeAsync(HttpContext context){// 请求之前的日志Console.WriteLine($"Request URL: {context.Request.Path}");// 调用下一个中间件await _next(context);// 响应之后的日志Console.WriteLine($"Response Status: {context.Response.StatusCode}");}
}

RequestDelegate next: 这是管道中下一个中间件的委托。ASP.NET Core 中间件是链式的,每个中间件都会调用 next(context) 来将请求传递给管道中的下一个中间件。

注册中间件: 在 Configure 方法中通过 app.UseMiddleware<LoggingMiddleware>() 来将自定义中间件添加到请求处理管道中。

public void Configure(IApplicationBuilder app)
{app.UseMiddleware<LoggingMiddleware>();// 其他中间件
}

你可以将中间件放置在管道中的不同位置,根据执行顺序来决定它的作用范围。

自定义中间件的常见应用场景:

  1. 日志记录: 可以创建一个中间件来记录每个请求的详细信息(如请求 URL、请求体、响应状态码等),以便于后期分析和排查问题。

  2. 认证与授权: 如果你有一些自定义的认证或授权逻辑,可以创建中间件来在请求处理之前进行检查。

  3. 错误处理: 自定义错误处理程序可以捕获异常并根据需要返回适当的错误信息,或者记录详细的错误信息。

  4. 性能监控: 你可以创建中间件来衡量请求的响应时间,进行性能分析,记录执行时间等。

  5. CORS 自定义: 你可以实现自定义的跨域资源共享(CORS)策略,根据请求的来源和其他条件来判断是否允许跨域访问。

  6. 请求/响应修改: 你可以在中间件中处理请求和响应数据,例如修改请求的头部信息,或者在响应中添加一些自定义的头部或数据。

  7. 请求计数与速率限制: 实现请求计数器或者速率限制器,中间件可以根据请求数量限制特定 API 的调用频率。

三、中间件的执行顺序

中间件的执行顺序是按照它们被注册的顺序来执行的。即先注册的中间件会先执行,后注册的中间件会后执行。

  • 请求管道:请求从上到下,依次通过所有中间件。每个中间件可以选择修改请求并传递给下一个中间件。
  • 响应管道:响应从下到上,依次经过中间件进行修改。每个中间件都可以选择修改响应并传递给上一个中间件。

四、其他自动逸中间件案例

1. 身份验证中间件

如果你想要在请求过程中对用户进行身份验证,可以创建一个中间件来检查用户的认证信息(如 JWT 令牌):

public class AuthenticationMiddleware
{private readonly RequestDelegate _next;public AuthenticationMiddleware(RequestDelegate next){_next = next;}public async Task InvokeAsync(HttpContext context){var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last();if (string.IsNullOrEmpty(token)){context.Response.StatusCode = 401; // Unauthorizedawait context.Response.WriteAsync("Unauthorized");return;}// 验证 token 逻辑...// 继续处理请求await _next(context);}
}

2、跨域中间件(CORS)

创建一个中间件来根据请求的来源动态处理 CORS:

public class CorsMiddleware
{private readonly RequestDelegate _next;public CorsMiddleware(RequestDelegate next){_next = next;}public async Task InvokeAsync(HttpContext context){var origin = context.Request.Headers["Origin"];if (origin != null && origin == "https://alloweddomain.com"){context.Response.Headers.Add("Access-Control-Allow-Origin", origin);}await _next(context);}
}

http://www.yayakq.cn/news/476566/

相关文章:

  • 1000个免费货源网站入口好评的广告牌制作公司
  • 西安住房和城乡建设局网站怎么免费制作app
  • wordpress把站php+mysql网站开发全程实例 下载
  • 阿里巴巴建设网站福田企业的网站建设公司好吗
  • 夹江企业网站建设报价动易网站只能进首页
  • 企业门户网站建设机构百度竞价渠道代理
  • 企业建站方案网站开发建设协议
  • 如何维护公司网站网络规划设计师是干啥的
  • 高校校园网网站内容如何建设网站开发使用什么工具
  • 网站怎样改域名做网站大公司
  • 网站怎么被搜到首页云主机由哪些部件组成
  • 苏州制作网站的公司简介网站上漂亮的甘特图是怎么做的
  • 保健品 东莞网站建设wordpress设置弹窗
  • 用自己的身份做网站备案青岛做网站eoe
  • 上海有哪些网站设计公司编程软件做网站的
  • 网站添加在线支付怎么查看网站ftp地址
  • 长沙网站搭建优化免费十大软件app
  • 查网站是否正规网站建设认准猪八戒网
  • 外贸网站建设优化营销企业官网模板下载
  • php网站建设思路方案企业所得税交多少
  • 打开网站做视频网站多大空间够
  • 郑州网站建设伟置社交网站开发成本
  • 简单详细搭建网站教程视频小程序开发制作需要多少钱
  • 做淘宝客网站用什么程序最好2023年网络推广方法
  • 东莞长安做网站ckplayer怎么上传做网站
  • 湖南平台网站建设公司呼和浩特公司网页设计
  • 深圳做网站 龙华信科在线音乐网站怎么做
  • 效果建网站的公公司网站毕业设计论文
  • 做购物网站学什么技术搜狗优化好的网站
  • 一个公司做100个网站网页编程html