For additional logic before/after calling methods

目录

1 For additional logic before/after calling methods

2 For error handling

3 What's else?

4 TODO:

5 LICENCE

  1. For additional logic before/after calling methods

Flatwhite is inspired by WebAPI and ASP.NET MVC ActionFilterAttribute, so it works quite similar. The base filter attribute has following methods. So simply implement your filter class and do whatever you want.

public abstract class MethodFilterAttribute : Attribute{

    

    public virtual void OnMethodExecuting(MethodExecutingContext methodExecutingContext);    

    public virtual Task OnMethodExecutingAsync(MethodExecutingContext methodExecutingContext);   

    public virtual void OnMethodExecuted(MethodExecutedContext methodExecutedContext);    

    public virtual Task OnMethodExecutedAsync(MethodExecutedContext methodExecutedContext);    }

If you decorate the filter on async methods, only OnMethodExecutingAsync and OnMethodExecutedAsync are called. During the filters are being executed, if the Result value is set to the MethodExecutingContext, the remaining filters will be ignored.

  1. For error handling

Similar to MethodFilterAttribute, you can implement ExceptionFilterAttribute to provide custom error handling logic. If the property MethodExceptionContext.Handled is true, all remaining ExceptionFilter will be ignored.

public abstract class ExceptionFilterAttribute : Attribute{    

    public virtual void OnException(MethodExceptionContext exceptionContext);    

    public virtual Task OnExceptionAsync(MethodExceptionContext exceptionContext);       }

  1. What's else?
  • Flatwhite for WebAPI: Flatwhite.WebApi · vanthoainguyen/Flatwhite Wiki · GitHub
  • Wiki: Home · vanthoainguyen/Flatwhite Wiki · GitHub
  1. TODO:
  • Better documents
  • Support other IOC library
  1. LICENCE

 

你可能感兴趣的:(Flatwhite,开发语言)