c# - अनुरोधित पृष्ठ तक पहुंचा नहीं जा सकता क्योंकि पृष्ठ के लिए संबंधित कॉन्फ़िगरेशन डेटा अमान्य त्रुटि है




asp.net iis-7 (20)

Ehm। मैंने अपनी साइट / फाइलों को एक अलग फ़ोल्डर में ले जाया था। आईआईएस वेबसाइट में पथ बदलने के बिना।

आप सब अब हँस सकते हैं।

मैं IIS manager माध्यम से IIS manager पर अपनी एएसपीनेट वेबसाइट अपलोड करना चाहता हूं। लेकिन जब मैं ऐसा करता हूं तो मुझे निम्न त्रुटि मिलती है

HTTP त्रुटि 500.19 - आंतरिक सर्वर त्रुटि अनुरोधित पृष्ठ तक पहुंचा नहीं जा सकता क्योंकि पृष्ठ के लिए संबंधित कॉन्फ़िगरेशन डेटा अमान्य है

Module  IIS Web Core
Notification    Unknown
Handler Not yet determined
Error Code  0x80070005
Config Error    Cannot read configuration file due to insufficient permissions
Config File \\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config

मैंने इस त्रुटि के समाधान के लिए कई बार खोज की लेकिन समाधानों में से कोई भी त्रुटि हल नहीं कर पाया।

मुझे आईयूएसआर खाते में कोई समस्या है। मैं web.config के गुणों में "समूह या उपयोगकर्ता नाम" में यह खाता नहीं देख सकता।

समस्या क्या है?


आईआईएस 7.5 त्रुटि पृष्ठ पर आप पृष्ठ के निचले हिस्से में 'अधिक जानकारी देखें' पर क्लिक करें और इस मामले में यह आपको निम्न Microsoft लिंक पर ले जाएगा:

http://support.microsoft.com/kb/942055

0x80070005 त्रुटि कोड से संबंधित अनुमतियां संबंधित हैं और संकल्प 2 में चरणों का पालन करने के लिए, प्रासंगिक फ़ोल्डर्स पर अनुमतियों के साथ सही खातों को निर्दिष्ट करने के लिए विधि 2 को ठीक करना चाहिए - मैंने 3 दिनों तक एक समाधान की तलाश में बिताया जब तक कि मैं इसे पार नहीं कर पाया, सीधे बाद में काम किया।


आपको स्थानीय मशीन पर IIS_IUSRS के लिए अनुमतियां असाइन करने की आवश्यकता है (लेकिन आपको IUSR के लिए असाइन करने की आवश्यकता नहीं है, वास्तव में यह काम करेगा यदि आप अनुमतियों को स्पष्ट रूप से अस्वीकार करते हैं)।

अनुमतियां असाइन करने के लिए, फ़ोल्डर पर और सुरक्षा टैब पर राइट क्लिक करें, सही अनुमतियां प्रदान करना सुनिश्चित करें, और यदि उपयोगकर्ता सूचीबद्ध नहीं है तो "एडीडी" पर क्लिक करें, और IIS_IUSRS दर्ज करें (और सुनिश्चित करें कि "डोमेन" के अंतर्गत स्थानीय कंप्यूटर का चयन किया जाता है, या नाम फ़ील्ड YourLocalComputerName \ IIS_IUSRS में दर्ज करें), और फिर आप जाने के लिए अच्छे हैं।

यदि आप चाहते हैं कि आप IIS_IUSRS समूह को अनुमतियां निर्दिष्ट करने के बजाय, आप ऐप पूल को असाइन कर सकते हैं जो सामान्य रूप से "आईआईएस APPPOOL \ एप पूल नाम " होना चाहिए।


एक और संभावना है कि मेरे लिए इस समस्या को ठीक किया गया है:

आईआईएस -> अनुमतियां संपादित करें -> सुरक्षा टैब -> "उपयोगकर्ता" उचित अनुमतियां दें (या IIS_IUSRS, आपके सेटअप के आधार पर)


बहुत सीधे आगे, आईआईएस के पास आपके web.config तक पहुंच नहीं है। मैं साइट को अपने दस्तावेज़ फ़ोल्डर से बाहर ले कर शुरू करूंगा। सत्यापित करें कि इसके साथ ही आर / डब्ल्यू अनुमतियां भी हैं।


मुझे एक ही समस्या थी, यहां वह समाधान है जो मेरे लिए काम करता है।

  1. आईआईएस प्रबंधक
  2. उस वेबसाइट पर राइट क्लिक किया गया
  3. अनुमतियां संपादित करें
  4. सुरक्षा टैब से उपयोगकर्ता 'IIS_IUSRS' जोड़ा गया
  5. उपयोगकर्ता 'IIS_IUSRS' को पूर्ण अनुमतियां दी गईं
  6. एप्लिकेशन पूल की पहचान 'ApplicationPoolIdentity' पर सेट करें

मेरे पास समस्या थी क्योंकि मैंने अपनी वेब.कॉन्फिग फ़ाइल को प्रोड से नीचे कॉपी किया था, रीव्राइट नियमों को छोड़कर सब कुछ संबंधित नहीं है जो http S को फिर से लिख रहा था।

उन नियमों को हटा दिया और ठीक चला गया।


मेरे मामले में आईआईएस यूआरएल रिवाइट मॉड्यूल स्थापित करने से समस्या हल हो गई।


मेरे मामले में यह अज्ञात प्रमाणीकरण संपत्ति पर टिप्पणी (या हटाना) काम करता है:

 <security>
     <authentication>
         <!--<anonymousAuthentication enabled="true" />-->
     </authentication>
 </security>

मेरे मामले में, यह आईआईएस में एक गैर-मौजूद फ़ोल्डर में अनुप्रयोग भौतिक पथ बिंदु के कारण होता है।


मेरे लिए, मैं स्रोत नियंत्रण से नवीनतम हो रहा था और यह हुआ।

Applicationhost.config फ़ाइल का वर्चुअल डायरेक्टरी पथ मेरी मशीन से अलग था।

मैंने अपनी प्रतिलिपि बहाल की और यह काम करता है। मैं आईआईएस एक्सप्रेस का उपयोग कर रहा हूँ।


मेरे साथ एक ही बात हुई, जब आप वेबसाइट चुनते हैं तो आईआईएस 7 के दाहिने फलक पर कनेक्शन स्ट्रिंग पर डबल क्लिक करके इसे जांचकर देखें।

यह आपको एक त्रुटि देगा (वेब ​​कॉन्फ़िगरेशन फ़ाइल के साथ कुछ समस्या है), क्योंकि आपने यूआरएल रीराइट नियमों का उपयोग किया है और संबंधित घटक स्थापित नहीं है।

"आईआईएस 7 के लिए माइक्रोसॉफ्ट यूआरएल रिवाइट मॉड्यूल 2.0" स्थापित करें और इससे आपकी समस्या ठीक होनी चाहिए


मैंने अपने वेब एप्लिकेशन के obj फ़ोल्डर को हटाकर इस मुद्दे को हल किया। समाधान के पुनर्निर्माण के बाद, समस्या चली गई थी।


मैप किए गए ड्राइव के साथ यह समस्या मिली, आईआईएस मैप किए गए ड्राइव के साथ काम नहीं करता है। बस अप्रयुक्त ड्राइव का उपयोग करें।


यह तब भी हुआ जब मेरे पास एक ही नाम (जैसे index.aspx) का एक डिफ़ॉल्ट दस्तावेज़ था जो मेरी web.config फ़ाइल और मेरी आईआईएस वेबसाइट दोनों में निर्दिष्ट है। मैंने आईआईएस वेबसाइट से प्रवेश को हटा दिया और web.config एंट्री को नीचे की तरह रखा:

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...


संदेश कह रहा है कि आपकी कॉन्फ़िगरेशन फ़ाइल किसी भी तरह से भ्रष्ट है। हालांकि यह भी कहता है कि यह वास्तव में कॉन्फ़िगरेशन फ़ाइल तक नहीं पहुंच सकता है। तो मैं भ्रष्टाचार / वैधता की कमी के बारे में मूल संदेश को अनदेखा कर दूंगा क्योंकि यह संभवतः प्राधिकरण की कमी के कारण फ़ाइल को पढ़ने में सक्षम नहीं होने का प्रभाव है।

कारण यह कॉन्फ़िगरेशन फ़ाइल नहीं पढ़ सकता है क्योंकि आपके वेब ऐप को चलाने वाली प्रक्रिया में फ़ाइल / निर्देशिका तक पहुंचने की अनुमति नहीं है। तो आपको उन अनुमतियों को अपने वेब ऐप चलाने की प्रक्रिया को देने की आवश्यकता है।

एक्सेस अधिकार काफी सरल होना चाहिए, यानी कम से कम पढ़ें , और, अपने ऐप के आधार पर, शायद लिखें

ऊपर, आप IUSR इत्यादि का उल्लेख करते हैं। web.config के गुणों में नहीं। यदि इसका मतलब है कि IUSR फ़ाइल के सुरक्षा टैब में सूचीबद्ध नहीं है तो यह एक अच्छी बात है। कोई IUSR को web.config को किसी भी प्रकार की अनुमति नहीं देना चाहता। आईयूएसआर भूमिका एक अज्ञात इंटरनेट उपयोगकर्ता है।

फ़ाइल web.config केवल आपके आवेदन के माध्यम से सुलभ होना चाहिए।

समस्या यह है कि आपने यह नहीं कहा है कि आप किस ओएस और आईआईएस संस्करण का उपयोग कर रहे हैं, इसलिए सलाह देना मुश्किल है कि कौन से कदम उठाने हैं।

आईआईएस 7.5 में, आपके द्वारा उद्धृत त्रुटि संदेश आपके ApplicationPoolIdentity के कारण अनुमतियों को असाइन नहीं किया जा रहा है। आपका वेब एप्लिकेशन एक एप्लिकेशन पूल से संबंधित है और इसलिए आपको ओएस खाते में अनुमतियां देने की आवश्यकता है कि आपके वेब एप्लिकेशन का एप्लिकेशन पूल चल रहा है। अक्सर यह नेटवर्क सेवा जैसी कुछ है लेकिन आपने इसे किसी उद्देश्य से बनाए गए खाते के तहत चलाने के लिए अनुकूलित किया हो सकता है। अधिक जानकारी के बिना आपकी मदद करना मुश्किल है।


सुनिश्चित करें कि आपके पास फ्रेमवर्क के सही संस्करण पर सेट किया गया एप्लिकेशन पूल है। आपको यह सुनिश्चित करने की भी आवश्यकता होगी कि आपके एस्पनेट, आईआईएस_आईयूएसआरएस, या आईयूएसआर उपयोगकर्ताओं ने एप्लिकेशन की निर्देशिका तक पहुंच पढ़ ली है।


अंत में मुझे अपनी समस्या का हल मिल गया। एएसपीनेट खाता आईआईएस मैनेजर में नहीं दिखाई देता क्योंकि मैंने विंडोज 7 में ऐसा करने के लिए आईआईएस में अपना चेक बॉक्स नहीं देखा है।

  1. ओपन कंट्रोल पैनल
  2. "प्रोग्राम" लिंक पर क्लिक करें (प्रोग्राम अनइंस्टॉल नहीं करें)
  3. "विंडो सुविधाओं को चालू / बंद करें" लिंक पर क्लिक करें
  4. पॉप अप विंडो में "इंटरनेट इनफॉर्मेशन सर्विसेज आईआईएस" का पता लगाएं और इसके नोड का विस्तार करें
  5. "वर्ल्ड वाइड वेब सेवा" नोड का विस्तार करें
  6. "अनुप्रयोग विकास सुविधाएं" नोड का विस्तार करें
  7. "एएसपी.नेट" के चेक बॉक्स को चेक करें
  8. फिर ठीक बटन क्लिक करें

अब आप आईआईएस मैनेजर पर एएसपीनेट खाता देखेंगे और डिफ़ॉल्ट रूप से आप आईआईएस खाता देखेंगे अब आपको "मेरे दस्तावेज़" से एएसपीनेट वेबसाइट को दूसरी जगह पर ले जाना चाहिए, आईआईएस को इसे एक्सेस करने की अनुमति है (आपके किसी भी विभाजन पर कंप्यूटर) अब आईआईएस प्रबंधक से अपनी वेबसाइट ब्राउज़ करें और इसे काम करना चाहिए। समाधान के लिए जेफ टर्नर के लिए बहुत बहुत धन्यवाद


फेसपाल्म चेतावनी:

अगर कॉन्फ़िगरेशन फ़ाइल का पथ गलत है तो आपको यह त्रुटि भी मिल जाएगी। आईआईएस में भौतिक पथ सही ढंग से दर्ज किया गया है यह सुनिश्चित करने के लिए इसे दोबारा जांचें।





iis-manager