estoy tonteando con las nuevas características de ASP.NET agrupación (utilizando el System.Web.Optmization 1.0.0-beta pre-lanzamiento) en mi aplicación web ASP.NET MVC 3.Nuevas características de agrupación de ASP.NET: ¿cómo puedo actualizar de forma programada un determinado paquete?
funciona muy bien.
Sin embargo, tenemos cierto dinámico CSS/JS que se almacena en la base de datos.
quiero conseguir esto, añadido a un paquete separado para mi paquete central, diga "DynamicBundle". Sé cómo hacer eso, no es un problema.
Ahora mi pregunta es, cuando se cambia este CSS/JS en la base de datos, ese paquete tiene que ser "refrescado", por lo que el contenido de esos archivos se vuelven a leer en el paquete.
Esencialmente, necesito ASP.NET para volver a generar esa magia GUID/cadena que se añade a la URL paquete.
Idealmente, solo me gustaría actualizar un paquete específico, no toda la tabla de paquetes.
¿Hay alguna manera de hacerlo?
EDIT:
Vale segundo problema, no puede encontrar la manera de añadir la dinámica CSS/JS para el paquete. bundle.AddFile
toma un camino virtual a un archivo, pero no es un archivo físico, que es una cadena. ¿Cómo voy a hacer esto? Seguramente no tengo que escribir cadena en los archivos primero?
EDIT 2: Así que he decidido no agrupar mi contenido dinámico. Por 2 razones:
- Es sólo 1 archivo, así que no estoy ganando ninguna "agrupación" beneficia
- Agrupación está diseñado para el contenido estático, esto no es
Así que lo que he hecho es minified manualmente mis css/js dinámicos en el tiempo de ejecución (una vez, luego caché). De esa manera puedo actualizarlo fácilmente, simplemente borrando el caché.
Dicho esto, esto sigue siendo una cuestión relevante (refrescante paquetes) por lo que voy a dejar abierta ..
Parece un controlador personalizado que escupe el JS/CSS dinámico podría ser mejor para usted. Así es como funcionan otros motores que generan JS en tiempo de ejecución (por ejemplo, Ajax.NET Pro hace esto: http://ajaxpro.codeplex.com/). Alternativamente, puede usar una página .aspx simple que devuelve el contenido dinámico, y establece los encabezados de caché para que no caché para que el cliente lo solicite todo el tiempo. – nothingisnecessary