Me pregunto si hay una manera fácil de especificar un CDN para todo el contenido al que hago referencia a través de Url.Content en mis vistas.asp.net MVC Url.Content() redirección de CDN
Algo que podría configurar en mi archivo Web.config de una manera similar a la siguiente.
<cdn>
<add filetype="css" root="http://mycdn.mydomain.com/stylesheets/" />
<add filetype="js" root="http://myjscdn.mydomain.com/js/ />
</cdn>
Entonces, tan sólo pudiera tener <% = Url.Content ("~/contenido/hojas de estilo/What.css")%> y sería http://mycdn.mydomain.com/stylesheets/Content/StyleSheets/What.css de salida.
Si no hay nada disponible, solo lo haré yo mismo a través de los métodos de extensión, pero me preguntaba si era posible de inmediato.
Eso es lo que terminé haciendo, pero con una colección de nombre-valor personalizada para asignar extensiones a diferentes dominios, ya que las imágenes no estaban en el mismo dominio que el CSS. –
Uso un patrón de función de procesador para hacer que la comprobación de configuración se realice una vez como: cadena privada estática CDNDomain = ConfigurationManager.AppSettings ["CDNDomain"]; privada estática Func thunk = DetectCDN; cadena estática privada DetectCDN (UrlHelper UrlHelper, string path) { si (String.IsNullOrEmpty (CDNDomain)) golpe seco = (u, p) => {return u.Content (p); }; else thunk = (u, p) => {return CDNDomain + p.TrimStart ('~'); }; // tenemos que manejar este que estamos fuera de ciclo en el futuro return thunk (urlHelper, ruta) } –
IDisposable