MembershipUser 的属性成员有providerName 和 providerUserKey 这两个属性不明白.它们对应的数据库是在哪个字段?查到以下的资料,仍然不明白.providerName
成员资格提供程序的名称,该提供程序存储并检索成员资格用户的用户信息。
providerUserKey
用户的成员资格数据源中的用户标识符。

解决方案 »

  1.   

    ProviderName应该是config中指定的吧例如,下面的的就是SqlProvider
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
          <providers>
            <clear />
            <add 
              name="SqlProvider" 
              type="System.Web.Security.SqlMembershipProvider" 
              connectionStringName="MySqlConnection"
              applicationName="MyApplication"
              enablePasswordRetrieval="false"
              enablePasswordReset="true"
              requiresQuestionAndAnswer="true"
              requiresUniqueEmail="true"
              passwordFormat="Hashed" />
          </providers>
    你需要验证下
      

  2.   

    ProviderUserKey 就是数据库中User表的主键的值。不同的Provider使用不同的类型。SqlMembershipProvider使用的是Guid。对应的field应该是aspnet_Users表中的UserId。下面的话来自msdn
    The ProviderUserKey property exposes the identifier from the membership data source typed as object. The type of the identifier depends on the MembershipProvider or the MembershipUser. In the case of the SqlMembershipProvider, the ProviderUserKey can be cast as a Guid, since the SqlMembershipProvider stores the user identifier as a UniqueIdentifier.
      

  3.   


        <membership defaultProvider="SqlMembershipProvider">
            <providers>
                <add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="10" minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
            </providers>
        </membership>c# 代码:
    MembershipUser msu = new MembershipUser("SqlMembershipProvider", ......)错误如下: 
    指定的成员资格提供程序名称无效。
    参数名: providerName
      

  4.   

    <configuration>  <connectionStrings>   <add name="MySqlConnection" connectionString="server=srv-devdbhost;uid=   sa;pwd=Abcd1234;database=aspnetdb" />  </connectionStrings>  <system.web>    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">      <providers>        <clear />        <add           name="SqlProvider"           type="System.Web.Security.SqlMembershipProvider"           connectionStringName="MySqlConnection"          applicationName="MyApplication"      </providers>    </membership>  </system.web></configuration>