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

洛阳做网站公司哪家好网站制作简介

洛阳做网站公司哪家好,网站制作简介,wordpress 访问无样式,如何做移动支付网站Asp.NET Core 中的过滤器(Filter)和拦截器(Interceptor)是两个不同的概念,但它们在某些方面有相似之处,也有明显的区别。 🔑过滤器(Filter) 过滤器是Asp.NET Core中用于…

Asp.NET Core 中的过滤器(Filter)和拦截器(Interceptor)是两个不同的概念,但它们在某些方面有相似之处,也有明显的区别。

🔑过滤器(Filter)

过滤器是Asp.NET Core中用于在  Pipeline 中的特定阶段执行代码的一种机制。它可以用于处理请求和响应,例如:日志记录、身份验证、异常处理 等。

ASP.NET Core提供了多种内置的过滤器类型:

  🔸认证过滤器(Authentication Filter)

  🔸授权过滤器(Authorization Filter)

  🔸响应缓存过滤器(Response Cache Filter)

  🔸异常过滤器(Exception Filter)

  🔸结果过滤器(Result Filter)

🚫拦截器(Interceptor)

拦截器通常是在 AOP(面向切面编程)框架中使用的,如:Castle Windsor, Spring.NET等,它允许你在不修改原始代码的情况下,添加额外的行为。

在Asp.NET Core中,拦截器通常是通过 依赖注入 和 中间件 来模拟的。

两者区别

  1. 应用场景不同:过滤器 主要应用于 MVC 和 Web API 控制器中,而 拦截器 可以应用在任何对象或者数据

  2. 实现方式不同:过滤器 通过 继承 特定的基类实现,而 拦截器 通常通过 动态代理 实现。

  3. 控制粒度不同:过滤器 控制的 粒度更小,像是 Action,而 拦截器 可以对 方法级别 的行为实施拦截。

  4. 性能差异:由于过滤器是在.NET Core的 Pipeline 中实现的,它的性能通常 优于拦截器

示例代码

过滤器(Authentication Filter)

public class MyCustomAuthFilter : Attribute, IAuthenticationFilter
{public Task AuthenticateAsync(AuthenticationContext context){// 自定义认证逻辑return Task.CompletedTask;}public Task ChallengeAsync(AuthenticationChallengeContext context){// 当需要challenge时执行return Task.CompletedTask;}public Task ForbidAsync(AuthenticationForbidContext context){// 当需要forbid时执行return Task.CompletedTask;}
}[MyCustomAuthFilter]
public IActionResult Index()
{return View();
}

拦截器(依赖注入和中间件模拟)

// 定义一个拦截器接口
public interface IMyInterceptor
{Task InvokeAsync(InvocationContext context);
}// 实现拦截器
public class MyInterceptor : IMyInterceptor
{public async Task InvokeAsync(InvocationContext context){// 在调用方法之前执行额外的行为await Next(context); // 调用下一个拦截器或者原方法// 在调用方法之后执行额外的行为}
}// 在中间件中使用
public class MyCustomMiddleware
{private readonly RequestDelegate _next;public MyCustomMiddleware(RequestDelegate next){_next = next;}public async Task InvokeAsync(HttpContext context, IMyInterceptor interceptor){// 在这里调用拦截器await interceptor.InvokeAsync(/* 传递适当的参数 */);// 调用下一个中间件await _next(context);}
}// 注册中间件
public void Configure(IApplicationBuilder app)
{app.UseMiddleware<MyCustomMiddleware>();
}

  现在能区分二者的职责和关系了吧

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

相关文章:

  • 哪些网站可以做文字链广告网站模板建站教程
  • 宁夏快速自助制作网站列举五种常用的网站推广方法
  • 网站建设大德通深圳光明区
  • 温州行业网站建设html5 微网站 源码
  • 适合网站开发的python网站开发最重要的技巧
  • 科技 网站建设wordpress图片转文字
  • 宜昌电子商城网站建设竞价网站策划
  • 镇海区建设交通局网站网页设计改版
  • 哪个网站做职客比较好 比较正规佛山有什么好玩的
  • 网站qq启动链接怎么做做网站 做手机app要学什么
  • 今网科技网站建设大连网站建设收费
  • 地方门户网站建设要求那些域名可以做后缀做网站
  • 有什么做网站的国企品牌设计公司简介
  • 京东网站建设目的太阳代理ip官网
  • 做企业网站注意什么做羞羞的网站
  • 上海制作网站的公司wordpress网站mip改造
  • 新能源汽车价格趋势广州网站优化公司咨询
  • wordpress 恢复初始莱芜网站优化招聘网
  • 舒城网站建设手机版网站与app
  • 南昌网站建设公司咨询商城建设方案
  • wordpress子域名网站常见的域名注册网站
  • 分销商城网站开发价格制作网站 公司
  • 建设企业网站用动态还是静态ios wordpress发文章
  • 网站版面布局结构什么是移动网站开发
  • 多仓库版仓库管理网站建设源码电子商务公司logo
  • 广东华星建设集团网站火山安卓软件开发平台
  • 网站开发提案模板国内包装设计网站
  • 移动公司营销网站设计广州哪里能看海
  • 网站运营推广的方法有哪些昆明做网站的公司
  • 怎么做网页制作网站模板网站原文件怎么上传空间