2016-04-20 7 views
0

Ich muss meine .js-Dateien und lib-Dateien in meinem Mvc-Projekt bündeln, ich suche nach der Versionsnummer für Bundle, da mein Browser alle .js neu laden muss und .lib-Dateien, wenn eine neue Version hinzugefügt wird oder Build in Umgebungen mit dev/tests/prod verschoben wird.Bündelung in MVC zum Laden neuer Dateien für jedes Release

Antwort

1

Bündelung in ASP.NET MVC hat bereits einen eingebauten Mechanismus für diese Art von Cache-Busting-Szenarien für die Freigabe der Handhabung baut als per the "Bundle Caching" section of this documentation:

Solange das Bündel nicht ändert, die Die ASP.NET-Anwendung fordert das AllMyScripts-Paket mit diesem Token an. Wenn sich eine Datei im Paket ändert, generiert das ASP.NET-Optimierungsframework ein neues Token , das garantiert, dass Browseranforderungen für das Paket das neueste Paket erhalten.

Dies kennzeichnet verwendet einen Token in der Abfragezeichenfolgeflag v aufgerufen aktuelle „Version“ des Bündels anzuzeigen, die wie folgt aussieht:

v=r0sLDicvP58AIXN_mc3QdyVvVj5euZNzdsa2N1PKvb81 

Diese Funktion als eindeutige Kennung für den speziellen Aufbau und solange Nichts in dem Paket wurde geändert, es wird es weiterhin verwenden, andernfalls würde ein neues erzeugt werden, um ein existierendes Caching "zu zerstören".

Für Nicht-Release-Builds

Wenn Sie dies in nicht-Release zu handhaben benötigt Builds, dann glaube ich Ihnen die EnableOptimizations Eigenschaft auf true setzen könnte diese immer handhaben:

BundleTable.EnableOptimizations = true; 
+0

* * Es hat funktioniert **, danke für deine Antwort, jetzt könnte ich verschiedene Token sehen, wenn .js Dateien aktualisiert werden. – Pardha