Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

231
Visualizações
Cómo forzar actualizaciones/evitar el almacenamiento en caché de HTML de la aplicación web .NET Core que se ejecuta en Linux y está alojada en un servidor proxy inverso nginx

Escribí mi aplicación web en C# usando .NET Core 5.0 MVC. Estoy usando el enrutamiento en el controlador para asignar direcciones URL y servir vistas que usan Razor. Ejecuto la aplicación en un servidor Linux usando el tiempo de ejecución de .Net core y luego alojo la aplicación usando un servidor proxy inverso nginx.

Realizo cambios frecuentes en mi sitio web y se basa en extracciones en tiempo real de mi base de datos para obtener las estadísticas más recientes para mostrar al usuario, por lo que es vital que las vistas que ofrezco estén actualizadas.


PROBLEMA: Por alguna razón, puedo publicar e implementar código nuevo y aparecerá bien en mi escritorio pero no en dispositivos móviles o en los escritorios de mis amigos (a veces sí, a veces no). Puedo ver nuevos cambios si cambio la URL ligeramente como google.com/test a google.com/Test. Mis rutas tampoco distinguen entre mayúsculas y minúsculas, pero todos mis enlaces de SEO/google tienen la versión en minúsculas/en caché.


Después de investigar, llegué a la conclusión de que los diferentes navegadores/aplicaciones están almacenando en caché mi HTML/JS/CSS y no obtienen lo último del servidor.

He intentado lo siguiente :

  • Instalar el paquete NuGet "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" y llamar

     services.AddControllersWithViews().AddRazorRuntimeCompilation();

en mi método ConfigureServices.

  • Agregar lo siguiente a mi archivo de diseño:

     <meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate"> <meta http-equiv="expires" content="-1" /> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> <meta http-equiv="pragma" content="no-cache" />
  • Agregando esto a las acciones de mi controlador que devuelven las vistas:

     [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
  • Estoy alojando mi servidor de aplicaciones web usando un servidor proxy inverso nginx, e intenté agregar algunas de las cosas que vi en línea para evitar el almacenamiento en caché sin suerte.

Nada ha funcionado consistentemente para mi dispositivo móvil (Android con Chrome).

¿Alguien más ha encontrado esto o posiblemente sabe de una solución?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

¿Ha intentado usar asp-append-version que proporciona ASP.NET?

Se puede usar de esta manera para css/js

 <link rel="stylesheet" href="~/css/site.css" asp-append-version="true"/>
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda