사용자 지정 멤버 자격 사용자 개체를 만들 때 오류가 발생합니다. 세부 오류 메시지는 다음과 같습니다.ASP.NET 사용자 지정 멤버십 사용자에게 사용자 지정 멤버 자격 문제가 있습니다.이 개체에 대해 정의 된 매개 변수없는 생성자가 없습니다.
오류 :
System.Configuration.ConfigurationErrorsException was caught
Message=No parameterless constructor defined for this object. (D:\Projects\Sample\SampleMembership\web.config line 23)
Source=System.Web
BareMessage=No parameterless constructor defined for this object.
Filename=D:\Projects\Sample\SampleMembership\web.config
Line=23
StackTrace:
at System.Web.Configuration.ProvidersHelper.InstantiateProvider(ProviderSettings providerSettings, Type providerType)
at System.Web.Configuration.ProvidersHelper.InstantiateProviders(ProviderSettingsCollection configProviders, ProviderCollection providers, Type providerType)
at System.Web.Security.Membership.InitializeSettings(Boolean initializeGeneralSettings, RuntimeConfig appConfig, MembershipSection settings)
at System.Web.Security.Membership.Initialize()
at System.Web.Security.MembershipAdapter.get_Providers()
at System.Web.Security.MembershipUser..ctor(String providerName, String name, Object providerUserKey, String email, String passwordQuestion, String comment, Boolean isApproved, Boolean isLockedOut, DateTime creationDate, DateTime lastLoginDate, DateTime lastActivityDate, DateTime lastPasswordChangedDate, DateTime lastLockoutDate)
at Asys.CatalogueViewer.Membership.CustomMembershipUser..ctor(String providername, String username, Object providerUserKey, String email, String passwordQuestion, String comment, Boolean isApproved, Boolean
내 사용자 정의 membershipUser 클래스 코드는 다음과 같습니다. 나는이 다음과 같습니다에 대한 (다음과 같습니다 객체 생성 코드) 사용자 정의 사용자 클래스 이상 사용
CustomMembershipUser membershipUser = new CustomMembershipUser(this.Name,
username,
Guid.Parse(userID.ToString()),
email,
passwordQuestion,
comment,
isApproved,
isLockedOut,
creationDate,
lastLoginDate,
lastActivityDate,
lastPasswordChangedDate,
lastLockedOutDate, "ss");
웹 설정 구성을 개체를 만들려고 할 때
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Security;
public class CustomMembershipUser : MembershipUser
{
private string _webSite;
public string WebSite
{
get { return _webSite; }
set { _webSite = value; }
}
public CustomMembershipUser()
{
}
public CustomMembershipUser(string providername,
string username,
object providerUserKey,
string email,
string passwordQuestion,
string comment,
bool isApproved,
bool isLockedOut,
DateTime creationDate,
DateTime lastLoginDate,
DateTime lastActivityDate,
DateTime lastPasswordChangedDate,
DateTime lastLockedOutDate,
string webSite) :
base(providername,
username,
providerUserKey,
email,
passwordQuestion,
comment,
isApproved,
isLockedOut,
creationDate,
lastLoginDate,
lastActivityDate,
lastPasswordChangedDate,
lastLockedOutDate)
{
this.WebSite =webSite;
}
}
오류가 발생합니다.
<configuration>
<connectionStrings>
<add name="ModelContainer" connectionString="metadata=res://*/Data.Model.csdl|res://*/Data.Model.ssdl|res://*/Data.Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=GET2CODE\GET2CODE;Initial Catalog=CatalogueViewer;User Id=sa;Password=hammer;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
<system.web>
<machineKey validationKey= "23729FFE7E16B1DD03D3BC8B45280254DA09CE2ABF5C1AC2FFD5DA04AB2521DBD7E6A8EFBE49C63DA2DA55708545A4562C75E8495415CB7B0456720652A9F160"
decryptionKey= "D643C94989E6D3A76E265AA4A565108FA727DBC7AB87EDE85F578DC78A8E407C" validation="SHA1" decryption="AES"/>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
<authentication mode="Forms" >
<forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
</authentication>
<membership defaultProvider="CustomMembershipProvider" userIsOnlineTimeWindow="15">
<providers >
<clear/>
<add name="CustomMembershipProvider" type="ASys.Membership.CustomMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" passwordFormat="Encrypted" connectionStringName="ModelContainer" />
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
것은 나에게이 문제를 당신은 그것이의 Web.config의 회원 섹션에 선언 된대로 CustomMembersipUser의 인스턴스를 만들 때 공급자의 이름을 전달해야
web.config의 설정이 표시되지 않습니다.이 설정을 보려면 매우 유용합니다. CustomMembershipUser 외에도 맞춤 멤버십 공급자를 사용하고 있습니까? CustomMembershipUser 생성자를 호출 할 때 "this.Name"값이 무엇인지 말할 수 있습니까? –
ASys.Membership.CustomMembershipProvider 유형이 공용 및 매개 변수없는 생성자를 갖고 있으며 CustomMembershipUser의 생성자를 호출 할 때 this.Name이 "CustomMembershipProvider"와 같은지 확인할 수 있습니까? –
답장을 보내 주셔서 감사합니다. CustomMembershipProvider에는 매개 변수없는 생성자가 없습니다. 이 값은 값입니다. 빈 web.config 파일의 빈 문자열에 대한 업데이트입니다. – Ajith