मुझे आश्चर्य है कि अगर मैं उन सभी सामग्री के लिए सीडीएन निर्दिष्ट करने का एक आसान तरीका हूं जो मैंने यूआरएल के माध्यम से संदर्भित किया है। मेरे विचारों में सामग्री।एएसपीएनटी एमवीसी यूआरएल.कंटेंट() सीडीएन रीडायरेक्शन
कुछ ऐसा जो मैं अपनी Web.config फ़ाइल में निम्न के जैसा तरीके से कॉन्फ़िगर कर सकता हूं।
<cdn>
<add filetype="css" root="http://mycdn.mydomain.com/stylesheets/" />
<add filetype="js" root="http://myjscdn.mydomain.com/js/ />
</cdn>
फिर, मैं सिर्फ <% = Url.Content ("~/सामग्री/स्टाइलशीट/What.css")%> है और यह उत्पादन http://mycdn.mydomain.com/stylesheets/Content/StyleSheets/What.css होगा सकता है।
यदि कुछ भी उपलब्ध नहीं है, तो मैं इसे विस्तार विधियों के माध्यम से स्वयं कर दूंगा, लेकिन मैं सोच रहा था कि यह बॉक्स से बाहर संभव था या नहीं।
मैं यही कर रहा हूं, लेकिन अलग-अलग डोमेन पर एक्सटेंशन मैप करने के लिए एक कस्टम नाम-मूल्य संग्रह के साथ, क्योंकि छवियां सीएसएस के समान डोमेन पर नहीं थीं। –
मैं कॉन्फ़िगरेशन जांच को एक बार ऐसा करने के लिए फ़ंक्शन-थंक पैटर्न का उपयोग करता हूं: निजी स्थैतिक स्ट्रिंग सीडीएनडीओएमएन = कॉन्फ़िगरेशन मैनेजर.एपसेटिंग ["सीडीएनडीओएमएन"]; निजी स्थिर Func thunk = DetectCDN; निजी स्थिर स्ट्रिंग DetectCDN (UrlHelper urlHelper, स्ट्रिंग पथ) { अगर (String.IsNullOrEmpty (CDNDomain)) thunk = (यू, पी) => {वापसी u.Content (पी); }; अन्य thunk = (u, p) => {वापसी CDNDomain + p।TrimStart ('~'); }; // हमें इसे संभालने की आवश्यकता है हम आगे बढ़ने की जरूरत है वापसी थंक (urlHelper, पथ) } –
IDisposable