#.NetCore面试##每天三道面试题#
第七题
问:简述 Core中间件,并举例您项目中间件的使用场景
答:中间件是一种装配到应用管道以处理请求和响应的软件 ,每个组件:
(1)选择是否将请求传递到管道中的下一个组件
(2)可在管道中的下一个组件前后执行工作
请求委托(Request delegates)用于构建请求管道,处理每个HTTP请求。请求委托使用Run,Map和Use扩展方法进行配置。单独的请求委托可以以内联匿名方法(称为内联中间件)指定,或者可以在可重用的类中定义它。这些可重用的类和内联匿名方法是中间件或中间件组件。请求流程中的每个中间件组件都负责调用流水线中的下一个组件,如果适当,则负责链接短路。
项目中除了项目默认中间件之外,我也自己定义了一些中间件,比如:
(1)日志中间件,使用它记录请求日志;
(2)静态资源拦截,用于资源文件的防盗链;
(3)API访问授权,用于控制API访问次数、权限等
还有很多使用场景,中间件主要是在请求前后拦截处理数据,在请求前后我们可以做我们需要的业务。
[玫瑰][玫瑰][玫瑰][玫瑰][玫瑰][玫瑰][撒花][撒花][撒花]