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