Je me demande s'il existe un moyen facile de spécifier un CDN pour tout le contenu que je référence via Url.Content dans mes vues.asp.net MVC Url.Content() Redirection CDN
Quelque chose que je pourrais configurer dans mon fichier Web.config d'une manière similaire à ce qui suit.
<cdn>
<add filetype="css" root="http://mycdn.mydomain.com/stylesheets/" />
<add filetype="js" root="http://myjscdn.mydomain.com/js/ />
</cdn>
Ensuite, je pouvais avoir <% = Url.Content ("~/Contenu/StyleSheets/What.css")%> et génèrerait http://mycdn.mydomain.com/stylesheets/Content/StyleSheets/What.css.
Si rien n'est disponible, je vais le faire moi-même via des méthodes d'extension, mais je me demandais si c'était possible hors de la boîte.
C'est ce que j'ai fini par faire, mais avec une collection de nom-valeur personnalisée pour mapper des extensions à différents domaines, puisque les images n'étaient pas sur le même domaine que le CSS. –
J'utilise un modèle de fonction-thunk pour faire la vérification de la configuration se produire une fois comme: chaîne statique privée CDNDomain = ConfigurationManager.AppSettings ["CDNDomain"]; private static Func thunk = DetectCDN; chaîne statique privé DetectCDN (UrlHelper urlHelper, le chemin de chaîne) {if (String.IsNullOrEmpty (CDNDomain)) thunk = (u, p) => {return u.Content (p); } sinon thunk = (u, p) => {return CDNDomain + p.TrimStart ('~'); } // nous devons gérer celui-ci nous sommes hors de la boucle à l'avenir retour thunk (urlHelper, chemin) } –
IDisposable