पर सीडीएन स्क्रिप्ट्स की सेवा के लिए स्क्रिप्ट मैनेजर को कैसे मजबूर करूं? हमारे पास एक वेब फार्म पर एक साइट परोसा गया है। खेत एक एसएसएल एक्सेलेरेटर के पीछे है जो एन्क्रिप्शन को संभालता है। इसका मतलब है कि हमारे आईआईएस सर्वर सभी आने वाले कनेक्शन http के रूप में देखते हैं, भले ही उपयोगकर्ता सभी https से https से कनेक्ट हों।मैं एसएसएल
हम ScriptManager की EnableCDN = सच संपत्ति का उपयोग करने लगे हैं। हमारे देव वातावरण पर जहां कोई एसएसएल एक्सेलेरेटर नहीं है, सीडीएन पर जेएस फाइलों के संदर्भों को https के साथ प्रस्तुत किया जाता है, उत्पादन वातावरण पर उन्हें असुरक्षित रूप से http पर प्रदान किया जाता है जो जेएस को अवरुद्ध कर देता है "केवल सुरक्षित सामग्री प्रदर्शित होती है "त्रुटियां।
स्क्रिप्टमैनगर में सभी स्क्रिप्ट संदर्भ मैन्युअल रूप से अद्यतन करने या मॉड्यूल के माध्यम से बाहर निकलने पर HTML को फिर से लिखने का छोटा, क्या किसी को स्क्रिप्टमैनर को https के माध्यम से इसके संदर्भ प्रस्तुत करने के लिए मजबूर करने का तरीका पता है?
संपादित करें:
कुछ परावर्तक समीक्षा करने के बाद, मैं नहीं मानता कि यह संभव है। मैंने निम्नलिखित हैक को जगह में रखा है, हालांकि यह स्पष्ट रूप से नाजुक है क्योंकि इसमें एक निजी क्षेत्र तक पहुंच शामिल है। अगर कोई बेहतर तरीके से देख सकता है तो मुझे यह सुनना अच्छा लगेगा।
var secureConnectionField = ScriptManager.GetType().GetField("_isSecureConnection", BindingFlags.Instance | BindingFlags.NonPublic);
if (secureConnectionField != null)
secureConnectionField.SetValue(ScriptManager, true);
मैं मामले आपके द्वारा बताई गई के लिए यह कोशिश की है नहीं, लेकिन HTML/जे एस में कुछ स्थानों पर जहां प्रोटोकॉल छोड़ सकते हैं देखते हैं, और ब्राउज़र एक ही प्रोटोकॉल के रूप में प्रयोग यूआरएल का अनुरोध करेंगे युक्त पेज के लिए। उदाहरण के लिए, "//cdn.mydomain.com/myfile.js" – RickNZ
टिप के लिए धन्यवाद, लेकिन इस मामले में मैं प्रदान किए गए यूआरएल को नियंत्रित नहीं करता - यह फ्रेमवर्क डीएलएस में पंजीकृत है। मुझे विश्वास नहीं है कि सीडीएन संदर्भों को प्रस्तुत करते समय प्रोटोकॉल को छोड़ने के लिए स्क्रिप्ट प्रबंधक को बताने के लिए एक दूर है। –
स्क्रिप्ट मैनेजर एक नियंत्रण है, इसलिए आपको या तो एक नियंत्रण एडाप्टर बनाने में सक्षम होना चाहिए जो पथ निर्माण तर्क को ओवरराइड करेगा, या शायद मूल से विरासत में प्राप्त एक नया नियंत्रण बनाएं, और टैग मैपिंग का उपयोग अपने ऐप में गतिशील रूप से प्रतिस्थापित करने के लिए करें। – RickNZ