gpt4 book ai didi

c# - IActionFilter 和 IAuthorizationFilter 的区别

转载 作者:太空狗 更新时间:2023-10-29 21:01:52 25 4
gpt4 key购买 nike

我只是想知道 IActionFilterIAuthorizationFilter 之间是否有任何区别?

我假设我们可以在可能具有 IAuthorizationFilterIActionFilter 下实现相同的逻辑......是这样吗?

谢谢!

最佳答案

根据问题,是的,我们可以在 IActionFilterIAuthorizationFilter 中实现相同的逻辑。但唯一的执行顺序不同。

ASP.NET MVC 框架支持四种不同类型的过滤器:

    Authorization – Implements  IAuthorizationFilter Attribute.
Action – Implements IActionFilter Attribute.
Result – Implements IResultFilter Attribute.
Exception – Implements IExceptionFilter Attribute.

注意: 过滤器按上面列出的顺序执行。

授权过滤器总是在操作过滤器之前执行,异常过滤器总是在所有其他类型的过滤器之后执行。

Authorization 过滤器用于实现 Controller 操作的authenticationauthorization。例如,授权过滤器是授权过滤器的一个示例。

Action 过滤器包含在 Controller Action 执行之前和之后执行的逻辑。例如,您可以使用操作过滤器来修改 Controller 操作返回的 View 数据。

Result 过滤器包含在执行 View 结果之前和之后执行的逻辑。例如,您可能希望在 View 呈现给浏览器之前修改 View 结果。

Exception 过滤器是要运行的最后一种过滤器。您可以使用异常过滤器来处理 Controller 操作或 Controller 操作结果引发的错误。您还可以使用异常过滤器来记录错误。

每种不同类型的过滤器都按特定顺序执行。如果您想控制相同类型过滤器的执行顺序,那么您可以设置过滤器的 Order 属性。

注意: 所有操作过滤器的基类都是 System.Web.Mvc.FilterAttribute 类。

关于c# - IActionFilter 和 IAuthorizationFilter 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19249511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com