ASP.Net Core Caching con HTMX (Español (Spanish))

ASP.Net Core Caching con HTMX

Monday, 12 August 2024

//

9 minute read

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

El archivo es una técnica importante para mejorar la experiencia del usuario cargando el contenido más rápido y reducir la carga en su servidor.. En este artículo le mostraré cómo usar las características de archivo built-in de ASP.NET Core con HTMX para almacenar el contenido en el lado cliente.

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

En ASP.NET Core, se ofrecen dos tipos de Caching

  • Reponse Cache - Son datos que se cachen en el cliente o en los servidores intermediarios de procy (o ambos ) y que se utilizan para cacher toda la respuesta de una solicitudM SK3
  • Los datos que se almacenan en el servidor y que se utilizan para almacenar la salida de una acción del controlador .

Para instalarlos en ASP.NET Core es necesario añadir un par de servicios a su Program.cs El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre los hombres y las mujeres en materia de empleo, incluida la eliminación del trabajo forzoso.

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

builder.Services.AddResponseCaching();
app.UseResponseCaching();

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad entre los géneros en todos los niveles de vida, incluida la educación.

services.AddOutputCache();
app.UseOutputCache();

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

Aunque es posible configurar el Cache de Respuesta en su Program.cs ' es a menudo un poco inflexible (especialmente cuando se utilizan peticiones HTMX como he descubierto). Usted puede configurar el Cache de Respuesta en sus acciones de controlador usando la ResponseCache El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer.

        [ResponseCache(Duration = 300, VaryByHeader = "hx-request", VaryByQueryKeys = new[] {"page", "pageSize"}, Location = ResponseCacheLocation.Any)]

Esto almacenará la respuesta durante 300 segundos y cambiará el archivo por hx-request El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. page El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. pageSize Parameteres de consulta. Nosotros' también estamos configurando el Location El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre los hombres y las mujeres en materia de empleo, incluida la adopción de medidas legislativas, administrativas y de otra índole. Any Esto significa que la respuesta puede ser almacenada en caché en el cliente, en los servidores proxy intermediarios, o ambosM SK2

El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. hx-request header es el encabezamiento que HTMX envía con cada petición. Esto es importante ya que le permite almacenar la respuesta de forma diferente según si se trata de una solicitud HT MX o de una petición normal.

Esta es nuestra situación actual Index método de acción. Yo ucan ver que aceptamos una página y el parámetro PageSize aquí y los hemos añadido como claves de consulta variadas en la ResponseCache attribute. Significa que las respuestas son M SK1indexadas' por estas claves y almacenan distintos contenidos basados en ellasMSC3

En el marco de la acción también tenemos if(Request.IsHtmx()) La Comisión Consultiva en Asuntos Administrativos y de Presupuesto recomienda a la Asamblea General que apruebe el siguiente proyecto de resolución: El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre hombres y mujeres en materia de empleo, incluida la adopción de medidas legislativas, administrativas, judiciales y de otra índole. El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. hx-request header que usamos' para variar el cache. Aquí devolvemos una vista parcial si la solicitud es de HTMXM SK2

    public async Task<IActionResult> Index(int page = 1,int pageSize = 5)
    {
            var authenticateResult = GetUserInfo();
            var posts =await blogService.GetPosts(page, pageSize);
            posts.LinkUrl= Url.Action("Index", "Home");
            if (Request.IsHtmx())
            {
                return PartialView("_BlogSummaryList", posts);
            }
            var indexPageViewModel = new IndexPageViewModel
            {
                Posts = posts, Authenticated = authenticateResult.LoggedIn, Name = authenticateResult.Name,
                AvatarUrl = authenticateResult.AvatarUrl
            };
            
            return View(indexPageViewModel);
    }

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad entre los géneros en todos los niveles de vida, incluida la educación.

La Cache de salida es el equivalente a la parte del servidor de la Cacha de Respuesta. Cache la salida de una acción del controlador. En esencia, el servidor web almacena el resultado de una petición y lo sirve para las peticiones posterioresM SK2

       [OutputCache(Duration = 3600,VaryByHeaderNames = new[] {"hx-request"},VaryByQueryKeys = new[] {"page", "pageSize"})]

Aquí ' estamos caching la salida de la acción del controlador para 3600 segundos y cambiando el caché por el hx-request El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. page El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. pageSize En el párrafo 6 de su resolución 57/270 B, la Asamblea General pidió al Secretario General que le presentara en su quincuagésimo séptimo período de sesiones un informe sobre los progresos realizados en la aplicación del Programa de Acción para prevenir, combatir y eliminar el tráfico ilícito de armas pequeñas y ligeras en todos sus aspectos. Como nosotros'estamos almacenando el lado del servidor de datos durante un tiempo significativo (los mensajes se actualizan sólo con una pulsación de docker ) esto está fijado a más largo que la Caja de RespuestaM SK3 podría ser realmente infinito en nuestro caso pero 3600 segundos es un buen compromisoMSC5

Como con la Caja de Respuesta, utilizamos el hx-request header para variar el cache en función de si la solicitud es de HTMX o no.

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre los géneros en todos los niveles, incluida la educación.

ASP.NET Core también ha construido-en soporte para archivos estáticos de cachéM SK2 Esto se hace mediante la configuración del Cache-Control en la respuesta. Puede configurarlo en su Program.cs El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre los hombres y las mujeres en materia de empleo, incluida la eliminación del trabajo forzoso. Tenga en cuenta que la orden iis importante aquí, si sus archivos estáticos necesitan soporte de autorización deberían mover el UseAuthorization El Comité recomienda al Estado Parte que adopte todas las medidas necesarias para garantizar la igualdad entre los géneros y el empoderamiento de la mujer. UseStaticFiles medioware. El medioware de UseHttpsRedirection debería estar también antes del medioware UseStaticFiles si se basa en esta característica.

app.UseHttpsRedirection();
var cacheMaxAgeOneWeek = (60 * 60 * 24 * 7).ToString();
app.UseStaticFiles(new StaticFileOptions
{
    OnPrepareResponse = ctx =>
    {
        ctx.Context.Response.Headers.Append(
            "Cache-Control", $"public, max-age={cacheMaxAgeOneWeek}");
    }
});
app.UseRouting();
app.UseCors("AllowMostlylucid");
app.UseAuthentication();
app.UseAuthorization();

El Comité recomienda que el Estado Parte adopte todas las medidas necesarias para garantizar la igualdad de oportunidades entre los hombres y las mujeres en materia de empleo, incluida la eliminación del trabajo forzoso.

Cache es una potente herramienta para mejorar la performance de su aplicación. Usando las características de caché built-in de ASP-M SK2NET Core usted puede fácilmente cachar el contenido en el lado cliente o servidor . Usado HTMX usted puede cachar los contenidos en el lateral cliente y servir unas vistas parciales para mejorar su experiencia de usuarioMSC4

Finding related posts...
logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.