public class IpRecordFilter : RequestFilterAttribute { public ICacheClient Cache { get; set; } public override void Execute(IHttpRequest req, IHttpResponse res, object requestDto) { Cache.Add(req.UserHostAddress, req.RemoteIp); } }
Użycie filtra sprowadza się do dodania atrybutu nad DTO lub serwisem.
public class EntryService : Service { public int Sum { get; set; } [IpRecordFilter] public object Post(Entry entry) { Sum += entry.Count; return new EntryResponse() {Total = Sum}; } }
Brak komentarzy:
Prześlij komentarz