/ / IIS में स्थिर फ़ाइलों (कोर / विकल्प अनुरोध के लिए) की सेवा कैसे करें? - एंगुलरज, आईस, कोर्स, एस्प.नेट-वेब-एपी 2, आईस-8.5

IIS में स्थिर फ़ाइलों (कोर / विकल्प अनुरोध के लिए) की सेवा कैसे करें? - कोणीयज, आईस, कोर्स, एस्प.नेट-वेब-एपी 2, आईस-8.5

मेरे पास एक AngularJS एप्लिकेशन है जिसे मैं IIS 8.5 पर चल रहे ASP.NET WebApi2 एप्लिकेशन से एक स्थिर फ़ाइल में खींचने के लिए AJAX अनुरोध का उपयोग करने का प्रयास कर रहा हूं। नीचे दिए गए उदाहरण के समान-

एनजी-शामिल = "http: //server/Content/icon.svg"

यदि मैं ब्राउज़र में उस URL पर नेविगेट करता हूं, तो IISखुशी से उस फ़ाइल को एक स्थिर फ़ाइल के रूप में कार्य करता है। हालाँकि, जब मैं एक AJAX अनुरोध का उपयोग करता हूं, तो कोणीय पहले एक विकल्प अनुरोध का प्रयास करता है, क्योंकि यह CORS अनुरोध है, और IIS एक 405 विधि नहीं अनुमति देता है।

मैंने वेब साइट में स्थैतिक सामग्री फ़ोल्डर में इन हेडर को जोड़ने की कोशिश की है-

हेडर

हालांकि इससे कोई फर्क नहीं पड़ा। इसके अलावा, IIS सर्वर में WebDAV स्थापित नहीं है, जो कि एक ऐसी चीज है जिसे मैंने किसी ऐसी चीज के रूप में देखा है जो मुद्दों का कारण बन सकती है।

उत्तर:

जवाब के लिए 2 № 1

मेरे पास एक वर्चुअल निर्देशिका वाली IIS साइट थी जिसमें से मैं अपनी स्टैटिक फ़ाइलों की सेवा देता हूं।

ब्राउज़र से कॉर्स करने के लिए, मैंने जो कुछ किया वह साइट के "एन टेटेस डे रिपोजेस HTTP" को कॉन्फ़िगर कर रहा था, जो कि अंग्रेजी में "HTTP रिस्पांस हेडर्स" जैसा कुछ होना चाहिए।

वहाँ मैंने एक नया हेडर जोड़ा जिसका नाम है "एक्सेस-कंट्रोल-अलाउंस-ओरिजिन" जिसका मूल्य "*" है।

इस क्षण से, मैं XHR में स्थिर फ़ाइलों का उपयोग कर सकता हूं।

मेरी वास्तविक समस्या एक फ़ाइल के लिए OpenStreetMap टाइलों की सेवा थी: ///c/xxx/index.html और क्रोम में त्रुटि।

मूल से छवि "http://myhost"क्रॉस-ऑरिजिनल रिसोर्स शेयरिंग पॉलिसी द्वारा लोडिंग से ब्लॉक किया गया है: कोई" एक्सेस-कंट्रोल-अलाउंस-ओरिजिन "हेडर अनुरोधित संसाधन के लिए मौजूद है। इसलिए" null "को एक्सेस की अनुमति नहीं है।


जवाब के लिए 0 № 2

यह मेरे लिए काम करता है। प्रपत्र प्रमाणीकरण के तहत उपनिर्देशिका में .png फ़ाइलों तक पहुँचने के लिए। आपको एक्सटेंशन बदलने में सक्षम होना चाहिए।

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>

<system.webServer>
<staticContent>
<mimeMap fileExtension=".*" mimeType="image/png" />
</staticContent>
<handlers>
<clear />
<add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" scriptProcessor="" resourceType="Either" requireAccess="Read" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" />
</handlers>
</system.webServer>

</configuration>

यदि आप जोड़ते हैं तो क्या होगा OPTIONS के लिए एक क्रिया के रूप में Access-Control-Allow-Methods में उत्तर दिया इस सवाल।

 <system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
</system.webServer>