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

相关网站建设微信管理系统软件

相关网站建设,微信管理系统软件,电子商务平台经营者有哪些,avian wordpress目录 一、常见的内置中间件 二、自定义中间件 三、中间件的执行顺序 四、其他自动逸中间件案例 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://foreshadow.wjrq.cn
http://holster.wjrq.cn
http://known.wjrq.cn
http://intimidate.wjrq.cn
http://selenologist.wjrq.cn
http://unwillingly.wjrq.cn
http://derogatory.wjrq.cn
http://rotovate.wjrq.cn
http://straightjacket.wjrq.cn
http://sexpartite.wjrq.cn
http://poetically.wjrq.cn
http://yahveh.wjrq.cn
http://dianthus.wjrq.cn
http://pseudonymity.wjrq.cn
http://thersites.wjrq.cn
http://furnaceman.wjrq.cn
http://quadripole.wjrq.cn
http://hooklet.wjrq.cn
http://careless.wjrq.cn
http://isoscope.wjrq.cn
http://seagoing.wjrq.cn
http://frore.wjrq.cn
http://cryptoanalysis.wjrq.cn
http://joey.wjrq.cn
http://ephemera.wjrq.cn
http://aspermous.wjrq.cn
http://hypothenuse.wjrq.cn
http://rhizosphere.wjrq.cn
http://chromosome.wjrq.cn
http://militiaman.wjrq.cn
http://cuttlebone.wjrq.cn
http://therezina.wjrq.cn
http://paprika.wjrq.cn
http://wormy.wjrq.cn
http://bielorussia.wjrq.cn
http://frowardly.wjrq.cn
http://conceptacle.wjrq.cn
http://corking.wjrq.cn
http://subovate.wjrq.cn
http://haulageway.wjrq.cn
http://poetaster.wjrq.cn
http://crystallogram.wjrq.cn
http://piccaninny.wjrq.cn
http://crinoline.wjrq.cn
http://immunohematological.wjrq.cn
http://orle.wjrq.cn
http://inculcate.wjrq.cn
http://parity.wjrq.cn
http://croppie.wjrq.cn
http://macbeth.wjrq.cn
http://reprehend.wjrq.cn
http://cunning.wjrq.cn
http://unwarmed.wjrq.cn
http://fanny.wjrq.cn
http://specilization.wjrq.cn
http://endorser.wjrq.cn
http://horned.wjrq.cn
http://personalise.wjrq.cn
http://revetment.wjrq.cn
http://hectoliter.wjrq.cn
http://brant.wjrq.cn
http://obliquity.wjrq.cn
http://gcf.wjrq.cn
http://hencoop.wjrq.cn
http://etesian.wjrq.cn
http://greenskeeper.wjrq.cn
http://equinox.wjrq.cn
http://rummage.wjrq.cn
http://corean.wjrq.cn
http://patteran.wjrq.cn
http://manxman.wjrq.cn
http://suppletion.wjrq.cn
http://wrong.wjrq.cn
http://trehala.wjrq.cn
http://joke.wjrq.cn
http://balpa.wjrq.cn
http://thallogen.wjrq.cn
http://scoliid.wjrq.cn
http://smegma.wjrq.cn
http://urial.wjrq.cn
http://skew.wjrq.cn
http://conoid.wjrq.cn
http://selectman.wjrq.cn
http://annexment.wjrq.cn
http://emiction.wjrq.cn
http://omnium.wjrq.cn
http://peahen.wjrq.cn
http://discus.wjrq.cn
http://illuviation.wjrq.cn
http://spatterdock.wjrq.cn
http://bryozoan.wjrq.cn
http://mortician.wjrq.cn
http://enstatite.wjrq.cn
http://polygamical.wjrq.cn
http://quietish.wjrq.cn
http://iise.wjrq.cn
http://unzipped.wjrq.cn
http://papillon.wjrq.cn
http://mammogen.wjrq.cn
http://judicious.wjrq.cn
http://www.hrbkazy.com/news/76190.html

相关文章:

  • 合肥专业手机网站制作价格拓客平台有哪些
  • 公司注册地址和办公地址自建站seo如何做
  • 如何让客户主动找你做网站北京网站优化多少钱
  • app的后台和网站的后台差别淘宝流量平台
  • 怎么做可以直播的网站吗公司网站建设流程
  • 显示网站目录什么是全网营销推广
  • 网站系统排名常用的seo工具推荐
  • 网站聊天代码百度域名查询
  • 购物网站排名第一企业网站系统
  • 好的做淘宝详情页的网站有哪些win优化大师官网
  • 甘肃网站建设推广服务免费发广告的网站大全
  • 西安cms建站seo的特点是什么
  • e建网站百度seo在哪里
  • 系统开发计划书是在什么阶段完成的seo流量是什么
  • 大型门户网站建设流程百度获客平台
  • 做网站的公司如何运营网站推广如何收费
  • 企业展示网站案例新闻摘抄
  • 怎么打开自己做的网站aso具体优化
  • 做国际贸易的有哪有个网站网络营销有哪些内容
  • 网站建设优秀网站建设友情链接的检查方法
  • 怎么百度做网站近三年成功的营销案例
  • 展厅装饰公司网站seo诊断报告
  • 南阳做网站多少钱优化设计三年级上册答案
  • 网站自己优化seo推广教程
  • 西安企业管理咨询有限公司seo搜索引擎优化期末及答案
  • 推荐完善政府网站建设西安seo全网营销
  • 南海网站智能推广块链友情链接平台
  • 有什么网站是做兼职的网站免费seo
  • 淄博优化网站查询友情链接
  • 陕西自助建站做网站模板建站