抱歉我的英文。
我开始在asp.net上编写项目并遇到麻烦。当我尝试执行此代码时:
System.Web.Security.Roles.CreateRole("User");
我得到一个例外:
尝试初始化System.Data.SqlClient.SqlConnection
对象时发生错误。为连接字符串提供的值可能有误,或者可能包含无效语法。
参数名称:connectionString
这是我项目配置的一部分:
<configuration>
<system.web>
...
<roleManager enabled="true" defaultProvider="SqlRoleProvider">
<providers>
<clear/>
<add name="SqlRoleProvider"
connectionString="ForumDB"
applicationName="/"
type="System.Web.Security.SqlRoleProvider"/>
</providers>
</roleManager>
</system.web>
<connectionStrings>
<clear/>
<add name="ForumDB"
connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=ForumDB;Integrated Security=True;Pooling=False"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
我最初认为连接字符串写错了,但我检查过几次。此代码也有效:
var connectionString = ConfigurationManager.ConnectionStrings["ForumDB"];
DbProviderFactory providerFactory = DbProviderFactories.GetFactory(connectionString.ProviderName);
DbConnection connection = providerFactory.CreateConnection();
connection.ConnectionString = connectionString.ConnectionString;
connection.Open();
我确信连接字符串已正确写入。请帮我!有什么问题?
答案 0 :(得分:0)
我在这里犯了一个错误:
<roleManager enabled="true" defaultProvider="SqlRoleProvider">
<providers>
<clear/>
<add name="SqlRoleProvider"
connectionString="ForumDB"
applicationName="/"
type="System.Web.Security.SqlRoleProvider"/>
</providers>
</roleManager>
我不得不写:
connectionStringName="ForumDB"