Mit dem integrierten MVC4-Bundler, wie stelle ich meine CDN-URL den Link-Tags voran, die sie erzeugt? Ich habe Amazon Cloudfront so eingerichtet, dass Assets bei der ersten Anforderung von meinem Webserver abgerufen werden. Also, wenn ich ein Bündel definieren wie folgt:CDN-URL an MPC anfügen 4 Bundler-Ausgabe
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/reset.css",
"~/Content/960_24_col.css",
"~/Content/Site.css"
));
Wenn eingesetzt, kann ich es so Referenz:
http://[cloundfrontid].cloudfront.net/Content/css?v=muhFMZ4thy_XV3dMI2kPt-8Rljm5PNW0tHeDkvenT0g1
nun durch die Bündler von produzierte ich muss nur die Links ändern ist in Bezug auf absolute Links auf mein CDN zeigen.
<link href="[INSERT_CDN_URL_HERE]/Content/css?v=muhFMZ4thy_XV3dMI2kPt-8Rljm5PNW0tHeDkvenT0g1" rel="stylesheet"/>
Ich denke, dass es möglich sein kann, den Weg neu zu schreiben, mit IBundleTransform aber ich kann keine Beispiele dafür finden.
HINWEIS: Nur um klar zu sein, ich weiß, dass Sie einen CDN-Link für ein Bündel angeben können, aber das funktioniert nur, wenn das Bündel durch eine statische Verknüpfung ersetzt werden kann.
Warum können Sie keine statische Verbindung zu Ihrem CDN verwenden? –
, weil ich nicht weiß, was dieser Link zur Kompilierzeit sein wird. Der Bündler weist ihm dynamisch eine Cache-Busting-Zeichenfolge zu, z./Content/css? V = muhFMZ4thy_XV3dMI2kPt-8Rljm5PNW0tHeDkvenT0g1 – PeteG
Ihr CDN verwendet tatsächlich die Abfragezeichenfolge, um einzuschalten, welchen Inhalt es zurückgibt? Könnten Sie nicht einfach die Versionen explizit in Ihr CDN codieren? also/content/css1 und stoße es einfach jedes Mal, wenn du deine Bündel aktualisierst? –