gpt4 book ai didi

c# - 将 ExceptionFilterAttribute 限制到一个特定的 MVC 区域

转载 作者:行者123 更新时间:2023-11-30 16:19:05 25 4
gpt4 key购买 nike

在我的项目中,我有不同的区域。我添加了一个 ExceptionFilterAttribute 用于处理错误(自定义)。我不想手动将此属性添加到所有 Controller ,我想将此属性注册到特定区域,因此 ExceptionFilterAttribute 将自动为该区域中的所有 Controller 工作

有什么建议

最佳答案

无法将操作过滤器应用于某个区域。您可以编写自定义异常过滤器属性,然后将其作为全局操作过滤器应用:

public class AdminAreaHandleErrorAttribute: HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
var area = filterContext.RouteData.Values["area"] as string;
if (string.Equals(area, "Admin", StringComparison.InvariantCultureIgnoreCase))
{
base.OnException(filterContext);
}
}
}

然后注册为全局过滤器:

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new AdminAreaHandleError());
}

关于c# - 将 ExceptionFilterAttribute 限制到一个特定的 MVC 区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15493327/

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