2011-09-27 3 views
2

Je génère des liens stylesheet/javascript sur tout mon site Web à l'aide d'une méthode d'extension unique. J'ai donc un emplacement pour générer une chaîne de requête.Génération du paramètre QueryString pour le contenu statique une fois par application

Exemple

http://mydomain.com/site.css?v0.0.1

Le plan est quand je fais une nouvelle construction, le contenu doit être tiré par les cheveux fraîchement à partir du serveur. Pas de surprises là-bas.

Cependant, j'essaie de trouver la meilleure façon de générer cette valeur.

Évidemment, idéalement, faire quelque chose comme une tâche MSBuild est le plus idéal, mais j'ai essayé et échoué dans le passé.

Nous utilisons SquishIt pour la plupart du contenu statique, mais pour les fichiers qui ne sont pas dans le groupe (par exemple ceux qui ne sont pas requis sur chaque page), nous devons générer le paramètre querystring pour le fichier.

Je pense que je crée un guid singleton sur le début de l'application, puis l'utiliser lors de la génération de liens.

Pensées?

+1

Ne serait-il pas préférable d'utiliser la version ou la date d'assemblage? http://stackoverflow.com/questions/324245/asp-net-show-application-build-date-info-at-the-bottom-of-the-screen – Giedrius

Répondre

0

Je préfère lire la version de montage ou de l'application une fois (soit en app_start ou faire le chargement paresseux méthode d'aide) et Utilisez cela pour construire l'URL de mon js/css. Nous changeons le numéro de version pour toutes les versions (internes ou externes), donc fonctionne comme un charme.

+0

Donc, si vous lisez cela une fois, où/comment le stockez-vous? Est-ce une instance (statique) dans une classe globale? – RPM1984

+0

@ RPM1984, yes - sa variable statique privée dans la classe d'utilitaire statique contenant la méthode formant l'URL. – VinayC

0

J'ai appris à propos de Knapsack de l'article de Steven Sanderson sur Open-source components used in learn.knockoutjs.com. Je ne suis pas tout à fait sûr, mais peut-être vous devriez jeter un oeil à sa rapide rendez-vous grâce à

+0

Mais c'est pour grouper js/css, si im pas faux. Nous utilisons déjà SquishIt pour ça. Je parle des cas où vous ne voulez pas le fichier dans le paquet, mais que vous voulez quand même qu'il soit mis en cache pour la version actuelle. A moins que je manque quelque chose? – RPM1984

Questions connexes