【发布时间】:2011-05-27 17:20:51
【问题描述】:
注意:我不想编写自定义会员提供程序。
我想编写自己的 Provider 类,这样我就可以在 web.config 中定义它并像 Membership 类一样访问它。
这是我的类的一个示例(它还有许多其他静态方法):
public static class MySqlHelper
{
private static string constring = ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString;
public static int ExecuteNonQuery(string mysqlquery)
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(mysqlquery, conn);
int result;
try
{
conn.Open();
result= cmd.ExecuteNonQuery();
}
finally
{
conn.Close();
}
return result;
}
}
用法:MySqlHelper.ExecuteNonQuery("select * from customers");
现在,如您所见,我已经硬编码了连接字符串的名称,即“MyConnString”。我打算让它动态化。
所以我想知道我是否可以让它像静态内置成员资格类一样,我可以在 web.config 中定义 connectionStringName。这样可以使该类可重用,而不必总是将 web.config 中的连接字符串命名为“MyConnString”。
1:我不想在每个静态方法中将连接字符串作为参数传递。
2:我必须能够访问类似于 Membership.CreateUser 的方法,即静态。
我正在同时浏览网络,但任何输入/指导都会有所帮助。
已编辑:我更新了我的代码示例,以消除对使用静态类问题的一些混淆。这是我发布的new question 以澄清这一点。很抱歉造成混乱。
【问题讨论】:
-
你好像在求魔法什么的。你基本上用你的资格排除了98%的答案。您必须在某个时候告诉班级如何获取连接字符串。它不能只是预测信息
-
@nathan:以 Membership.CreateUser 方法为例。我可以在 web.config 中设置 ConnectionStringName 供 MembershipProvider 使用。正在寻找类似的东西。
-
我已经更新了我的答案,以考虑您的最后评论。我想我现在可能会得到你想要的东西。
标签: asp.net membership-provider dataprovider