// 自定义attribute 方式
public class CustomIOCFilterFactoryAttribute : Attribute, IFilterFactory
{
public bool IsReusable => true;
private readonly Type _type;
public CustomIOCFilterFactoryAttribute(Type type)
{
_type = type;
}
public IFilterMetadata CreateInstance(IServiceProvider serviceProvider)
{
return (IFilterMetadata)serviceProvider.GetService(_type);
}
}
使用方法
[CustomIOCFilterFactoryAttribute(typeof(CustomExceptionFiter))]
public IActionResult Index()
{
逻辑部分
}
自定义IOC过滤器工厂在.NET中的实现与应用
本文介绍了如何在.NET中创建一个自定义的IOC过滤器工厂类`CustomIOCFilterFactoryAttribute`,该类继承自`Attribute`并实现了`IFilterFactory`接口。通过这个工厂类,可以在依赖注入容器中动态获取并实例化指定类型的过滤器。示例展示了如何使用`[CustomIOCFilterFactoryAttribute(typeof(CustomExceptionFiter))]`装饰控制器方法,以便在执行业务逻辑前应用自定义的异常过滤器。
77

被折叠的 条评论
为什么被折叠?



