4
//---------------------------------------------------------------------
//Aspect Filters
public class RequestAspectAttribute : RequestFilterAttribute {
  public RequestAspectAttribute() { } //debug point was hit
  public RequestAspectAttribute(ApplyTo applyTo) : base(applyTo) { }
  public override void Execute(IHttpRequest req, IHttpResponse res, object reqDto) {
      //This code is executed before the service 
      //debug point was hit
  }
}
public class ResponseAspectAttribute : ResponseFilterAttribute {
  public ResponseAspectAttribute() { } //debug point was NOT hit
  public ResponseAspectAttribute(ApplyTo applyTo) : base(applyTo) { }
  public override void Execute(IHttpRequest req, IHttpResponse res, object resDto) {
      //This code is executed after the service 
      //debug point was NOT hit
  }
}
//---------------------------------------------------------------------
//REST Service
[RequestAspect]
[ResponseAspect]
public class TodoService : RestServiceBase<Todo> { ...

上記のコードを使用して、ToDo リスト サンプル プロジェクトの Req/Res フィルター属性をテストしています。そのため、2 つの追加属性を除いて、サンプル プロジェクトには何も変更されていません (私が思うに)。

todo アイテムを追加すると、 request 属性だけが呼び出されました。応答属性がトリガーされませんでした。

この場合、Rest コールの前後にペアで発火するべきではありませんか? 私の理解は間違っていますか、それとも何か間違ったことをしていますか? よろしくお願いします。

4

1 に答える 1