¿Qué cosas inteligentes has hecho con un método de acción ASP.NET MVC?

Los métodos de acción del controlador ASP.NET MVC se usan principalmente para manejar operaciones 'comerciales', pero se pueden usar para mucho más.

Pensé que sería divertido ver qué cosas creativas y útiles las personas han creado acciones para que puedan ser prácticas o útiles para otros.

Aquí está mi contribución:

Concatenador de archivos Javascript - areducir el número de solicitudes http:

    [OutputCache(Duration = 5 * 60, VaryByParam="")]  // DONT USE "None" here *
    public ContentResult RenderJavascript(){

        StringBuilder js = new StringBuilder();
        StringWriter sw = new StringWriter(js);

        // load all my javascript files
        js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/jquery.hoverIntent.minified.js")));
        js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/jquery.corner.js")));
        js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/rollingrazor.js")));

        return new ContentResult()
        {
            Content = js.ToString(),
            ContentType = "application/x-javascript"
        };
    }

Mapa de una ruta a él:

  // javascript
  routes.MapRoute(
     "js-route",
     "dynamic/js",
     new { controller = "Application", action = "RenderJavascript" }
  );

Consulte desde su página maestra:

    <script type="text/javascript" src="/dynamic/js"></script>

Tenga en cuenta que he configurado un caché para la salida, por lo que si está cambiando su JS y actualizando la página, ¡puede deshabilitar el caché!

Necesito volver y descubrir cómo descomprimirlo.

* No debe usar VaryByParam = "None" porque eso hace que se envíe el encabezado Vary, quehace que el navegador regrese y busque una nueva versión. Si realmente tiene que cambiar su contenido js, ¡entonces sus usuarios simplemente tendrán que esperar 5 minutos!

Respuestas a la pregunta(5)

Su respuesta a la pregunta