0

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ていますが、これを実装する方法が見つかりませんでした。また、それを行う必要があるかどうかもわかりません。

どうすれば順序を変更できますか、またはどのように解決できますか?

4

0 に答える 0