9

के लिए सदस्यता उपयोगकर्ता बना नहीं सकता है मैंने एक कस्टम सदस्यता प्रदाता बनाया है और मुझे एक नया "सदस्यता उपयोगकर्ता" बनाने का प्रयास करने में निम्न त्रुटि मिल रही है।कस्टम सदस्यताप्रदाता

विधानसभा 'System.Web, संस्करण = 4.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = b03f5f7f11d50a3a' से प्रकार 'MyTestApp.Membership.TestMembershipProvider' लोड नहीं कर सका।

मैं इसे यूनिट टेस्ट प्रोजेक्ट से चला रहा हूं, इसलिए मुझे यकीन नहीं है कि यह समस्या पैदा कर रहा है, लेकिन मैंने System.Web, System.Web.AplicationServices के साथ-साथ MyApp.Membership का संदर्भ भी शामिल किया है। MyApp.DataModels (इकाई वस्तुएं)।

त्रुटि मेरे "GetUser" फ़ंक्शन के अंदर होती है जो नीचे है, मेरी कॉन्फ़िगरेशन भी नीचे है।

public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) 
{ 
    try 
    { 
     AccountEntities db = new AccountEntities(); 

     if ((providerUserKey is Guid) == false) 
     { 
      return null; 
     } 

     User user = (from u in db.Users 
        where u.UserId == (Guid)providerUserKey 
        && u.Application.LoweredApplicationName == this.ApplicationName.ToLower() 
        select u).FirstOrDefault(); 

     if (user != null) 
     { // ERROR: Starts here, user object is correct, data is all there. 
      return new MembershipUser(this.ProviderName, user.UserName, (object)user.UserId, user.Email, user.PasswordQuestion, user.Comment, user.IsApproved, user.IsLockedOut, user.CreateDate, user.LastLoginDate, user.LastActivityDate, user.LastPasswordChangedDate, user.LastLockoutDate); 
     } 
     else 
      return null; 
    } 
    catch (Exception ex) 
    { 
     this.WriteToEventLog(ex, "Unable to get user from object '{" + ((Guid)providerUserKey).ToString() + "}'.", "Get User"); 
     return null; 
    } 
} 
<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
    <add name="AccountEntities" connectionString="metadata=res://*/Account.AccountDataModel.csdl|res://*/Account.AccountDataModel.ssdl|res://*/Account.AccountDataModel.msl;provider=System.Data.SqlClient;provider connection string='Data Source=&quotEDITED&quot;;Initial Catalog=CustomAuthentication;Persist Security Info=True;User ID=EDITED;Password=EDITED;MultipleActiveResultSets=True'" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
    <system.web> 
    <membership defaultProvider="TestMembershipProvider" userIsOnlineTimeWindow="15"> 
     <providers> 
     <clear/> 
     <add name="TestMembershipProvider" type="MyTestApp.Membership.TestMembershipProvider" 
       applicationName="/" 
       description="Membership Test" 
       enablePasswordReset="true" 
       enablePasswordRetrieval="true" 
       maxInvalidPasswordAttempts="3" 
       minRequiredNonAlphanumericCharacters="8" 
       minRequiredPasswordLength="8" 
       passwordAttemptWindow="30" 
       requiresQuestionAndAnswer="true" 
       requiresUniqueEmail="true" /> 
     </providers> 
    </membership> 
    </system.web> 
</configuration> 

उत्तर

21

मैं सिर्फ देखा मैं

type="MyTestApp.Membership.TestMembershipProvider, MyTestApp.Membership" 

वर्क्स अब विन्यास में नीचे हिस्सा याद किया!

+4

भविष्य से उपरोक्त। आपने मुझे एक और 4 घंटे बोनकर्स के बारे में बचाया, क्यों मेरी सुरक्षा असेंबली ने एमवीसी परियोजना के लिए ठीक काम किया लेकिन विंडोज़ फॉर्म प्रोजेक्ट नहीं! – Tommy

+2

इससे 10 मिनट के शोध के बाद मुझे कोई समस्या हल करने में मदद मिली। यह बहुत बुरा होता, यह इसके लिए नहीं था, इसलिए, धन्यवाद! – jason

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