5

पर सच है एक ASP.net वेब अनुप्रयोग मैं web.config में निम्नलिखित सदस्यता प्रदाता को परिभाषित किया है में:requiresQuestionAndAnswer web.config में गलत पर सेट लेकिन RequiresQuestionAndAnswer क्रम

<membership> 
    <providers> 
    <add connectionStringName="MyServer" name="MyServer" type="System.Web.Security.SqlMembershipProvider" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     enablePasswordRetrieval="false" /> 
    </providers> 
</membership> 

जब मैं में एप्लिकेशन को चलाने के डीबगर, संपत्ति Membership.Provider.RequiresQuestionAndAnswertrue है।

क्यों? और मैं इसे कैसे ठीक कर सकता हूं?

अद्यतन: आर टंटटाइम, Membership.Providers संग्रह में प्रदाता के दो उदाहरण हैं जो लगभग समान हैं। अंतर हैं:

  • पहले प्रदाता का नाम है == "AspNetSqlMembershipProvider" और RequiresQuestionAndAnswer == सच
  • दूसरा प्रदाता का नाम == "MyServer" और RequiresQuestionAndAnswer == झूठी है।

अब यह पता लगाने की कोशिश कर रहा है कि पहला कहां से आ रहा है।

+2

क्या डीबगर में प्रदाता का नाम आपके प्रदाता ("MyServer") के नाम से मेल खाता है? –

+0

@MeidanAlon डीबगर में प्रदाता नाम "AspNetSqlMembershipProvider" प्रतीत होता है। साथ ही, यह सही SQL कनेक्शन स्ट्रिंग दिखा रहा है, ऐसा लगता है कि यह सही है। – urig

+0

कि, मैं defaultProvider = "MyServer" जोड़ने की कोशिश करता हूँ अजीब है सदस्यता के अंदर और करने के लिए –

उत्तर

3

प्रति अनुवर्ती प्रश्न, रहस्य प्रदाताओं, एक निचले स्तर कॉन्फ़िग फ़ाइल पर परिभाषित किया गया है करने के लिए नामित मशीन चला जाता है .config, जो मशीन पर चल रहे सभी एएसपीनेट साइटों के लिए सर्वर-व्यापी पैरेंट कॉन्फ़िगरेशन फ़ाइल है। MSDN page for asp.net config hierarchy पर कुछ और विवरण देखें।

0

मेरी समस्या के लिए फिक्स web.config में निर्दिष्ट करने के लिए है:

<membership defaultProvider="MyServer> 

कारण है कि रन-टाइम में एक "अतिरिक्त" प्रदाता वहाँ है कि यह मेरी machine.config फ़ाइल में परिभाषित किया है। Here's how to find yours। सुधार के लिए

क्रेडिट @ meidan-एलन को जाता है और मूल कारण के लिए ऋण @ केन-इगोजी :)

संबंधित मुद्दे