我对使用EF的ASP.NET的自定义成员身份实现有问题。问题是,我的web.config具有提供程序的默认值,但在运行时,这些默认值只在Initialize()中读取,第一次实例化提供程序时(例如,当我通过GET请求Register视图时,但当我填写表单并将其发送给控制器时,不会调用提供程序类上的Initialize(),并且所有提供程序设置都为空或默认值类型值。
这是我的web.config部分:
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider"
type="BN.Membership.EfMembershipProvider, BN"
connectionStringName="ApplicationServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
type="BN.Membership.EfRoleProvider, BN"
connectionStringName="ApplicationServices"
applicationName="/" />
</providers>
</roleManager>
由于我的提供者类是相当大的,我不会张贴在这里,但将张贴它的一些部分,如果要求。