#asp.net-core-webapi #identityserver4 #cache-control
#asp.net-core-webapi #identityserver4 #контроль кэша
Вопрос:
У меня есть класс запуска, настроенный следующим образом:
public void ConfigureServices(IServiceCollection services)
{
services.AddResponseCaching();
...
}
public void Configure(IApplicationBuilder app)
{
app.UseResponseCaching();
...
}
И мой контроллер такой:
[HttpGet]
[ResponseCache(Duration = 30)] //I normally have a policy here but used duration as an example
[Authorize("Policy_1")]
[Authorize(LocalApi.PolicyName)]
public IActionResult Get()
{
...
}
Если я добавлю точку останова в свой метод контроллера и использую postman для отправки запроса, точка останова будет достигнута, и я смогу увидеть ключ управления кэшем в заголовках ответа:
Если я снова отправлю запрос, будет достигнута точка останова (в течение срока действия).
Однако, если я удалю атрибуты авторизации и токен аутентификации из моего запроса, все будет работать так, как ожидалось.
Аутентификация и авторизация были настроены с помощью сервера идентификации 4.
И просто для подтверждения «Отправить заголовок без кэша» отключен в postman.
Итак, вопрос в том, что мне нужно добавить, чтобы кэширование ответов работало с сервером идентификации 4?