do something
メソッドの順序を変更したり、メソッドの実行順序を制御したりする方法を知りたいです。
I have this class prototype:
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public abstract class ApiDbAuthAttribute : System.Web.Http.Filters.ActionFilterAttribute, IAuthorizationFilter {
public override void OnActionExecuting(HttpActionContext actionContext) {
// this I want to go off first
}
public void OnAuthorization(AuthorizationContext filterContext) {
// this I want to go off after the first
}
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) {
// this at the end
}
}
実際に何が起こっているか:
1. OnAuthorization
2. OnActionExecuting
3. OnActionExecuted
これは正しい順序であり、そのようにする必要があることはわかっていますが、UnitOfWork OnActionExecuting
このフィルターを使用しているときに DB を使用している理由をトリガーしています。
PS:私は使用しています
using IAuthorizationFilter = System.Web.Mvc.IAuthorizationFilter;
の間に違いがあることは知っSystem.Web.Http.Filters.IAuthorizationFilter
ていますが、これを実装する方法が見つかりませんでした。また、それを行う必要があるかどうかもわかりません。
どうすれば順序を変更できますか、またはどのように解決できますか?