ServiceStack で特定のサービスに対して実行されるリクエスト/レスポンス インターセプターをセットアップする最も簡単な方法は何でしょうか?
リクエスト フィルタ ( ) は正常に機能しますが、サービスが非 2xx ステータス コードを返した場合、IHasRequestFilter
レスポンス フィルタ ( ) はトリガーされません。IHasResponseFilter
メソッドから返されたステータス コードと、応答 DTO (存在する場合) を取得する必要があります。
カスタム ServiceRunner とメソッドのオーバーライドはOnBeforeExecute
うまくOnAfterExecute
いくようですが、アプリケーション全体でサービスランナーを置き換える必要があり、必要なタスクを機能ごとに分離するクリーンな方法を見つけることができなかったため、かなり煩わしいと思います。それらのメソッドで実行されます。
各サービスメソッドの前と各サービスメソッドの後にいくつかのコードを実行できるようにする、欠落している ServiceStack の拡張ポイントはありますか? プラグインは理想的ですが、カスタム コードを実行できるようにする架空のメソッドBeforeExecute
をサブスクライブするにはどうすればよいでしょうか?AfterExecute
アップデート:
質問を投稿した直後に、サービスから返されたステータス コードに関係なく、グローバル レスポンス フィルタが実行されることがわかりました。これはまさに私が必要としていたものです。最後の質問: リクエスト フィルターでリクエストを処理するサービス タイプを取得することは可能ですか? このサービスが何らかのカスタム マーカー属性で装飾されているかどうかを確認する必要があります。