[Asp.Net Core]FilterFactory扩展定制
Posted 厦门德仔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Asp.Net Core]FilterFactory扩展定制相关的知识,希望对你有一定的参考价值。
FilterFactory扩展定制
为可以使用ServiceFilter/TypeFilter就可以支持依赖注入呢?----一定是IOC容器来完成;
1.自定义一个特性类,继承Attribute,实现接口 IFilterFactory;实现接口中的方法
public class CustomFilterFactory : Attribute, IFilterFactory
.....
2.通过构造函数传递需要实例化的特性的type类型
public CustomFilterFactory(Type type)
_Type = type;
private readonly Type _Type = null;
3.在实现接口中,通过Type类型获取到实例
public class CustomFilterFactory : Attribute, IFilterFactory
public CustomFilterFactory(Type type)
_Type = type;
private readonly Type _Type = null;
public bool IsReusable => true;
public IFilterMetadata CreateInstance(IServiceProvider serviceProvider)
object oInstance = serviceProvider.GetService(_Type); //创建实例
return (IFilterMetadata)oInstance;
4.标记在Action上面
[CustomFilterFactory(typeof(CustomActionFilterAttribute))]
public IActionResult Index()
return View();
5.测试
以上是关于[Asp.Net Core]FilterFactory扩展定制的主要内容,如果未能解决你的问题,请参考以下文章
Asp.NET Core进阶 第四篇 Asp.Net Core Blazor框架
.NET Core 1.0ASP.NET Core 1.0和EF Core 1.0简介
深入研究 Mini ASP.NET Core(迷你 ASP.NET Core),看看 ASP.NET Core 内部到底是如何运行的
.Net Core 学习 - ASP.NET Core 概念学习
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 14. ASP.NET Core Identity 入门