zoukankan      html  css  js  c++  java
  • .net core---------------------中间件介绍

    什么是中间件?

    中间件是组装到应用程序中用来处理和响应的组件,每个组件可以选择是否将请求传递给管道的下一个组件。可以在调用管道中的下一个组件之前和之后执行工作。

    编写一个中间件

    1:创建一个类,通过构造函数依赖注入请求委托(requestDelegate),然后编写Invoke方法,参数是一个http上下文,方法体编写你的逻辑,最后通过委托将http上下文传递给下一个中间件。

    2:通过扩展方法使用IApptionBuilder公开你的中间件,方便在启动类直接使用你的中间件。

    中间件总结

    一般捕获异常放到请求管道前端,以便于捕捉后面所有中间件所发生的的异常。

    中间件组件添加到在Configure方法中的顺序定义了它们在请求上被调用的顺序,以及响应的相反顺序。此顺序对安全性,性能,功能至关重要。

    中间件是在应用程序启动时构建的,而不是每个请求,所以在每个请求期间,中间件构造函数使用的有限生命期服务不会与其他依赖注入类型共享。如果您必须在中间件和其他类型之间共享一个有限的服务,请将这些服务添加到该Invoke方法的签名中。

    该Invoke方法可以接受由依赖注入填充的其他参数

    中间件 Use(使用),Run(运行),Map(映射),Use方法可以使管道短路(不调用next请求委托),Run是一个约定,一些中间件组件可能暴露Run[middleware]在末端管道运行的方法。Map*扩展名被用作分支管道的惯例,Map根据给定的请求路径的匹配来分支请求管道,
    如果请求路径以给定的路径开始,则分支被执行。MapWhen根据给定的结果(true/false)分支请求管道。Map支持嵌套!。Map也可以一次匹配多个分段。

    Asp.Net Core附带以下中间件:认证CORS响应缓存响应压缩路由会话静态文件URL重写中间件

    中间件组件可以通过构造函数参数从依赖注入来解决它们的依赖性

  • 相关阅读:
    angular js模块,angular js控制器
    select ipnut双向数据绑定用法
    ng-repeat循环遍历的用法
    angular js起步
    文件上传(预览2 老师提供的方法)
    设置mui头部(头部与最上面可以设置同样的样子)支持ios (苹果) 安卓不支持
    点击按钮btn 打开(跳转)新的页面
    定位精准 并打印出来
    把原始坐标转化为百度坐标(位置更精确)
    原始地理定位
  • 原文地址:https://www.cnblogs.com/net666/p/8205016.html
Copyright © 2011-2022 走看看