PDA

View Full Version : مشکل با کلاس roleprovider



komeil64
جمعه 26 آذر 1389, 18:39 عصر
سلام
وقتی از کلاس roleprovider استفاده می کنم از همه متد های کلاس این اشکال رو می گیره!!!
Error 11 'WebApplication4.Classes.eShopRoleProvider.RoleExi sts(string)': no suitable method found to override

ممنون میشم راهنمایی کنید چی کارش کنم؟

raziee
جمعه 26 آذر 1389, 19:03 عصر
زمانی که قصد دارید یک Provider اختصاصی بنویسید باید تمام متد های abstract رو override کنید.

komeil64
جمعه 26 آذر 1389, 19:31 عصر
میشه توضیح بدید باید چی کار کنم؟

raziee
جمعه 26 آذر 1389, 22:49 عصر
کلاسی رو که به عنوان فرزند کلاس System.Web.Security.RoleProvider تعریف میکنید.
در کلاس RoleProvider متد هایی موجود هست که الزاما باید override بشند.
مثلا:

public override bool RoleExists(string roleName)
{
bool exists = false;
SqlConnection cnn = new SqlConnection(yourConnectionString);
SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM [RolesTables] WHERE RoleName = @RoleName", cnn);

cmd.Parameters.Add("@RoleName", SqlDbType.NVarChar, 255).Value = roleName;

try
{
cnn.Open();
int numRecs = (int)cmd.ExecuteScalar();

if (numRecs > 0)
{
exists = true;
}
}
catch (SqlException)
{
throw;
}
catch (Exception)
{
throw;
}
finally
{
if (cnn.State != ConnectionState.Closed)
{
cnn.Close();
cmd.Dispose();
}
}


return exists;
}