15

コントローラーが OnActionExecuted でアクションを実行した後、いくつかのことをしようとしています。ただし、メソッドは 2 回呼び出されます。

私のフィルター方法

public class TestFilter: ActionFilterAttribute
{
  public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
    {

       //do stuff here


    }
}

そして私のコントローラー

[TestFilter]
  public class BaseController : ApiController
{
 public LoginResponseDTO Login(LoginRequestDTO loginRequestDTO)
    {

 //do login stuff
    }

}

このフィルターを試すと、onActionExecuted メソッドが 2 回呼び出され、メソッド内のアクションが応答に 2 回適用されます。理由を検索しましたが、解決策が見つかりません。

何か案は?

4

4 に答える 4

1

カスタム フィルターを Global.asax.cs に登録した場合は、次のようになります。

GlobalConfiguration.Configuration.Filters.Add(new TestFilterAttribute());

カスタム コントローラーの上の属性を取り消してください。

于 2021-01-11T00:45:32.577 に答える