Novidades do .NET 7: Output Caching middleware em APIs REST no ASP.NET Core

  • Para ativar a utilização de caching precisamos acionar os métodos AddOutputCache (linha 17) e UseOutputCache (linha 59);
  • No caso específico de AddOutputCache, defini ainda um período default de 5 segundos para o cache (linha 19);
  • O método CacheOutput permite configurar o uso do mecanismo de caching para os endpoints /cache (linha 42) e /cachequerystring (a partir da linha 53);
  • Nas configurações de CacheOutput para o endpoint /cachequerystring foram também realizados ajustes adicionais. O método VaryByQuery (linha 55) permite indicar qual parâmetro numa query string deverá ser considerado para efeitos de cache, já em Expire (linha 56) redefinimos o tempo de cache para 15 segundos (sobrepondo o comportamento default de 5 segundos).
Clique nesta imagem para visualizar com uma melhor resolução
Clique nesta imagem para visualizar com uma melhor resolução
Clique nesta imagem para visualizar com uma melhor resolução
  • A propriedade Duration indica o tempo em segundos correspondente à validade do cache. É o caso dos métodos GetCache (linha 27) e GetCacheQueryString (linha 36);
  • Temos ainda a possibilidade de indicar que o armazenamento está atrelado a Query Strings ou Headers, através das propriedades VaryByQueryKeys e VaryByHeaders. No método GetCacheQueryString (linha 36) especifiquei que o cache está atrelado ao uso do parâmetro valorTeste em Query Strings.
Clique nesta imagem para visualizar com uma melhor resolução
Clique nesta imagem para visualizar com uma melhor resolução
Clique nesta imagem para visualizar com uma melhor resolução

--

--

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Renato Groffe

Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker