- [KuAuthFilter]//授权过滤器-权限验证
public class KuAuthFilterAttribute : Attribute, IAuthorizationFilter
{
public KuAuthFilterAttribute()
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--KuAuth--构造函数---" + DateTime.Now);
}
public void OnAuthorization(AuthorizationFilterContext context)
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--OnAuthorization---" + DateTime.Now);
}
}
- [KuResourceFilter]//资源过滤器--缓存
public class KuResourceFilterAttribute : Attribute, IResourceFilter
{
public KuResourceFilterAttribute()
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--Resource--构造函数---" + DateTime.Now);
}
/// <summary>
/// 在xx资源之前
/// 执行资源筛选器。 在执行管道的其余部分之前调用。
/// </summary>
/// <param name="context"></param>
/// <exception cref="NotImplementedException"></exception>
public void OnResourceExecuting(ResourceExecutingContext context)
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--Resource--之前(OnResourceExecuting)---" + DateTime.Now);
}
/// <summary>
/// 在xx资源后
/// 执行资源筛选器。 在执行管道的其余部分后调用。
/// </summary>
/// <param name="context"></param>
/// <exception cref="NotImplementedException"></exception>
public void OnResourceExecuted(ResourceExecutedContext context)
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--Resource--之后(OnResourceExecuted)---" + DateTime.Now);
Console.WriteLine("------------------------------------" + DateTime.Now);
}
}
- [KuActionFilter]//操作过滤器(行为过滤器)---执行方法前后的记录
public class KuActionFilterAttribute : Attribute, IActionFilter
{
public KuActionFilterAttribute()
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--Action--构造函数---" + DateTime.Now);
}
/// <summary>
/// 在XXAction执行之前
/// </summary>
/// <param name="context"></param>
public void OnActionExecuting(ActionExecutingContext context)
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--Action--之前(OnActionExecuting)---" + DateTime.Now);
}
/// <summary>
/// 在XXAction执行之后
/// </summary>
/// <param name="context"></param>
public void OnActionExecuted(ActionExecutedContext context)
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--Action--之后(OnActionExecuted)---" + DateTime.Now);
}
}
- [KuResultFilter]//结果过滤器 -- 生成前后扩展
public class KuResultFilterAttribute : Attribute, IResultFilter
{
public KuResultFilterAttribute()
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}---Result--构造函数---" + DateTime.Now);
}
/// <summary>
/// 在xx结果之前
/// </summary>
/// <param name="context"></param>
/// <exception cref="NotImplementedException"></exception>
public void OnResultExecuting(ResultExecutingContext context)
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--Result---之前(OnResultExecuting)---" + DateTime.Now);
}
/// <summary>
/// 在xx结果之后
/// </summary>
/// <param name="context"></param>
/// <exception cref="NotImplementedException"></exception>
public void OnResultExecuted(ResultExecutedContext context)
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--Result---之后(OnResultExecuted)---" + DateTime.Now);
}
}
- 控制器
public class HomeController : Controller
{
public HomeController()
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}---{this.GetType().Name}--构造函数---" + DateTime.Now);
}
[KuResultFilter]//结果过滤器 -- 生成前后扩展
[KuResourceFilter]//资源过滤器--缓存
[KuActionFilter]//操作过滤器(行为过滤器)---执行方法前后的记录
[KuAuthFilter]//授权过滤器-权限验证
public IActionResult Index()
{
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}--执行[Index]方法:" + this.GetType().Name + "---" + DateTime.Now);
return View();
}
}
- Index.cshtml
@{
ViewData["Title"] = "Home Page";
Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId}---{this.GetType().Name}--Index.cshtml---" + DateTime.Now);
}
<div class="text-center">
<h1 >.net</h1>
</div>
- 执行效果
