onResultExecuted メソッドを使用して、カスタム ActionFilterAttribute を使用して詳細をログに記録しようとしている MVC アプリにコントローラーがあります。
このチュートリアルを読んで、独自のアクション フィルターを理解し、作成しました。問題は、コントローラーからアクション フィルターに変数を渡す方法です。
- コントローラーが呼び出される入力変数を取得したい。たとえば、ユーザー名/ユーザー ID です。
- (状況によっては) コントローラー メソッドによって例外がスローされた場合は、エラーもログに記録したいと思います。
コントローラー -
[MyActionFilter]
public class myController : ApiController {
public string Get(string x, int y) { .. }
public string somemethod { .. }
}
アクションフィルター -
public class MyActionFilterAttribute : ActionFilterAttribute {
public override void onActionExecuted(HttpActionExecutedContext actionExecutedContext) {
// HOW DO I ACCESS THE VARIABLES OF THE CONTROLLER HERE
// I NEED TO LOG THE EXCEPTIONS AND THE PARAMETERS PASSED TO THE CONTROLLER METHOD
}
}
ここで問題を説明できたことを願っています。ここでいくつかの基本的なオブジェクトを見逃している場合は申し訳ありませんが、私はこれにまったく慣れていません。