Tôi tự hỏi nếu có một cách dễ dàng để chỉ định CDN cho tất cả nội dung mà tôi tham chiếu qua Url.Content trong chế độ xem của tôi.asp.net MVC Url.Content() Chuyển hướng CDN
Điều gì đó mà tôi có thể định cấu hình trong tệp Web.config theo cách tương tự như sau.
<cdn>
<add filetype="css" root="http://mycdn.mydomain.com/stylesheets/" />
<add filetype="js" root="http://myjscdn.mydomain.com/js/ />
</cdn>
Sau đó, tôi chỉ có thể có <% = Url.Content ("~/Content/stylesheets/What.css")%> và nó sẽ ra http://mycdn.mydomain.com/stylesheets/Content/StyleSheets/What.css.
Nếu không có gì, tôi sẽ tự làm điều đó thông qua các phương pháp mở rộng, nhưng tôi đã tự hỏi nếu nó có thể ra khỏi hộp.
Đó là những gì tôi đã kết thúc, nhưng với bộ sưu tập giá trị tên tùy chỉnh để mở rộng bản đồ cho các miền khác nhau, vì hình ảnh không nằm trên cùng một miền với CSS. –
Tôi sử dụng mẫu chức năng ngăn để kiểm tra cấu hình diễn ra một lần như sau: chuỗi tĩnh riêng CDNDomain = ConfigurationManager.AppSettings ["CDNDomain"]; Func tĩnh riêng thunk = DetectCDN; chuỗi tĩnh riêng DetectCDN (UrlHelper urlHelper, đường dẫn chuỗi) { if (String.IsNullOrEmpty (CDNDomain)) thunk = (u, p) => {return u.Content (p); }; else thunk = (u, p) => {return CDNDomain + p.TrimStart ('~'); }; // chúng tôi cần xử lý vấn đề này, chúng tôi sẽ ngừng chuyển tiếp trả lại thư rác (urlHelper, path) } –
IDisposable