ServiceStack - 属性知道它从哪个类调用

本文关键字:调用 属性 ServiceStack | 更新日期: 2023-09-27 17:57:16

比如说,我有一个像这样的 LogAttribute 类:

  public class LogAttribute : RequestFilterAttribute {
    public override void Execute(IHttpRequest req, 
                                 IHttpResponse res, 
                                 object dto) { /*...*/ }
  }    
  [Log]
  public class TransportService : Service { /*...*/ }
  [Log]
  public class HealthService : Service { /*...*/ }

类如何知道它从哪个类调用?即,运输服务还是健康服务?

ServiceStack - 属性知道它从哪个类调用

您可以使用传入的请求 DTO 以及 ServiceStack 维护的有关您的服务的元数据,例如:

var serviceType = HostContext.Metadata.GetServiceTypeByRequest(dto.GetType());