c# - ServiceStack ResponseFilterAttribute 未被调用

标签 c# asp.net aop servicestack

//---------------------------------------------------------------------
//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> { ...

我正在使用上面的代码测试待办事项列表示例项目中的 Req/Res 过滤器属性。因此,除了两个附加属性外,示例项目(我认为)没有任何其他更改。

当我添加待办事项时,只调用了请求属性。响应属性没有被触发。

在这种情况下,它们不应该在 Rest 调用之前和之后成对启动吗?是我的理解不正确还是我做错了什么?在此先感谢您的帮助。

最佳答案

将您的请求和响应过滤器与相应的请求和响应 DTO 一起使用

    [Route("/Hello")]
    [RequestAspect]
    public class HelloRequest
    {
        public string hello { get; set; }
    }
    [ResponseAspect]
    public class HelloResponse
    {
        public string hello { get; set; }
    }
    public class HelloService : Service
    {
        public object Any(HelloRequest req)
        {
            return new HelloResponse
            {
                hello = req.hello
            };
        }
    }

关于c# - ServiceStack ResponseFilterAttribute 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12338894/

相关文章:

ASP.NET MVC 不良做法 : Controller Action Not Restricted to POST in Asp.Net MVc

java - 使用 AspectJ 保存到文件

c# 禁用 Trackbar 上的 ScrollWheel

c# - 下拉列表没有选择正确的索引

c# - 缺少 ServiceBusConnectionString 时出现 FunctionIndexingException

.net - 使用 SOAPClient 从 ASP 调用 ASP.NET Web 服务

java - Spring AOP中没有这样的方法将切入点应用于批处理作业

c# - aspx页面重定向到新页面

c# - 简化类道路系统的碰撞网格?