求 楼主,帮我一下吧
我想把CS2.0中的用户资料存放在自己定义的表中,就是在注册用户的时候让那些字段统统插到自己的表中,我重写了MEMBERSHIPPROVIDER方法
在CommunityServer.ASPNet20MemberRole程序集下建立了一个cMemberShipProvider类里面的 代码是:
namespace CommunityServer.ASPNet20MemberRole
{
using System;
using System.Web.Security;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public class cMemberShipProvider :MembershipProvider
{
public override string ApplicationName
{
get
{
throw new Exception("The method or operation is not implemented.");
}
set
{
throw new Exception("The method or operation is not implemented.");
}
} public override void UpdateUser(MembershipUser user)
{
throw new Exception("The method or operation is not implemented.");
}
public override bool ValidateUser(string username, string password)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["SiteSqlServer"]))
{
SqlCommand comm = new SqlCommand("custom_Validateuser", conn);
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("@name", SqlDbType.NVarChar, 12).Value = username;
comm.Parameters.Add("@password", SqlDbType.NVarChar, 32).Value = password;
conn.Open();
using (SqlDataReader reader = comm.ExecuteReader())
{
if (reader.Read())
{
return true;
}
return false;
}
}
}
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["SiteSqlServer"]))
{
SqlCommand comm = new SqlCommand("custom_MemberShipCreateuser", conn);
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("@name", SqlDbType.NVarChar, 12).Value = username;
comm.Parameters.Add("@password", SqlDbType.NVarChar, 32).Value = password;
comm.Parameters.Add("@emali", SqlDbType.NVarChar, 50).Value = email;
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
}
throw new Exception("The method or operation is not implemented.");
}
}
}
我想先试一下,所以CreateUser方法简单写了
在WEB.CONFIG里配置
<membership userIsOnlineTimeWindow="15" defaultProvider="cMemberShipProvider">
<providers>
<clear />
<add name="cMemberShipProvider"
type="CommunityServer.ASPNet20MemberRole.cMemberShipProvider, CommunityServer.ASPNet20MemberRole"
connectionStringName="SiteSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed"
applicationName="dev"
description="Stores and retrieves membership data from the local Microsoft SQL Server database"
maxInvalidPasswordAttempts="999"
passwordAttemptWindow="999"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0" />
</providers>
</membership>
出现的错误是:分析器错误信息: 未能从程序集“CommunityServer.ASPNet20MemberRole”中加载类型“CommunityServer.ASPNet20MemberRole.cMemberShipProvider”。
源错误:
行 92: <clear />
行 93: <add name="cMemberShipProvider"
行 94: type="CommunityServer.ASPNet20MemberRole.cMemberShipProvider, CommunityServer.ASPNet20MemberRole"
行 95: connectionStringName="SiteSqlServer"
行 96: enablePasswordRetrieval="false"
请问我怎么写才能实现从自己的表中读写数据呢? 由于内容太长了,不能发表,所以不重写的方法就删掉了
TKY
回复 引用