Как пропустить кэширование для конкретных методов контроллера в ASP.NET веб-api?
Допустим, у меня есть этот контроллер
public class abController : BaseApiController { [HttpGet] [Route("api/x", Name = "x1")] [CacheOutput(ServerTimeSpan = 3600, ClientTimeSpan = 3600)] public async Task<IHttpActionResult> getX([FromUri] xRequest request) { } [HttpGet] [Route("api/y", Name = "y")] [ActionName("y")] [CacheOutput(ServerTimeSpan = 3600, ClientTimeSpan = 3600)] public async Task<IHttpActionResult> getY([FromUri] yRequest request) { } }
как вы можете видеть, существует кэширование для обоих методов, но для метода
getYесть еще один контроллер который делает POST поэтому когда POST будет сделан я хочу чтобы кэширование по методу getY было пропущено
public class addController: BaseApiController { [HttpPost] [InvalidateCacheOutput("y")] [Route("api/y/add", Name = "add")] public async Task<IHttpActionResult> addY([FromUri] addYRequest request) { } }
Что я уже пробовал:
Как вы можете видеть, я поставил имя действия на метод, который я хочу пропустить кэширование в нем
[ActionName("y")]
а теперь в методе Адди я ставлю
[InvalidateCacheOutput("y")]но это не работает
я хочу, чтобы, когда Эдди называется кэширование на Гети способ, чтобы быть пропущены