Say, I have a LogAttribute class like this:

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

How does the LogAttribute class know what class it is calling from? Namely, TransportService or HealthService?

有帮助吗?

解决方案

You can use the Request DTO that's passed in as well as the metadata ServiceStack maintains about your service, e.g:

var serviceType = HostContext.Metadata.GetServiceTypeByRequest(dto.GetType());
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top