5

मैं एएसपी.नेट के लिए नया हूं और अभी एएसपी.नेट एमवीसी 3 सीखना शुरू कर चुका हूं। मैंने डिफ़ॉल्ट टेम्पलेट का उपयोग करके एक नया एएसपी.नेट एमवीसी 3 प्रोजेक्ट शुरू किया है, जिसमें पहले से ही अधिकांश सदस्यता सामग्री पहले से कॉन्फ़िगर की गई है। अब मैं समझने की कोशिश कर रहा हूं कि दृश्यों के पीछे वास्तव में क्या चल रहा है।एएसपीनेट एमवीसी एप्लीकेशन में aspnetdb.mdf कहां से आया?

मुझे पता चला है कि डिफ़ॉल्ट टेम्पलेट एक IMembershipService इंटरफ़ेस को परिभाषित करता है जिसे AccountMembershipService क्लास द्वारा कार्यान्वित किया जाता है जो मूल रूप से बस एक सिस्टम.Web.Security.MembershipProvider को लपेटता है। कोड में टिप्पणियों से यूनिट परीक्षण की सुविधा के लिए इस अमूर्तता की तरह लगता है।

डिफ़ॉल्ट सदस्यता प्रदाता Web.config फ़ाइल में सेट है। मेरा प्रोजेक्ट, जो डिफ़ॉल्ट टेम्पलेट से बनाया गया था, यह SqlMembershipProvider पर सेट है।

<membership> 
    <providers> 
    <clear/> 
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" 
     enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" 
     maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" 
     applicationName="/" /> 
    </providers> 
</membership> 

यह Web.config फ़ाइल, का संदर्भ जो किसी SQL एक्सप्रेस डेटाबेस "aspnetdb.mdf" में एक कनेक्शन स्ट्रिंग संदर्भ देता है।

<connectionStrings> 
    <add name="ApplicationServices" 
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

जब मैं पहली बार अपने प्रोजेक्ट बनाया नहीं aspnet.mdf फ़ाइल नहीं थी। लेकिन मेरे ऐप को चलाने और एक नया उपयोगकर्ता पंजीकृत करने के बाद यह फ़ाइल स्वचालित रूप से जेनरेट की गई थी और सभी। यहाँ क्या चल रहा है? इस फ़ाइल को क्या बनाता है और बनाए गए टेबल निर्दिष्ट करता है?

उत्तर

2

ये SQLMembershipProvider वर्ग द्वारा बनाए गए हैं। यदि आप चाहें, तो आप एक अलग सदस्यता प्रदाता का उपयोग करने के लिए अपनी मौजूदा फ़ाइल को कस्टमाइज़ कर सकते हैं या यह बता सकते हैं कि मौजूदा डेटाबेस का उपयोग किस प्रकार किया जाए।

अपने मौजूदा SQL सर्वर स्थापना में उपयुक्त तालिकाओं को जोड़ने के लिए इस टूल का उपयोग करें: http://msdn.microsoft.com/en-us/library/ms229862(v=VS.100).aspx

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