我与app.config
文件混在一起。
我已配置failed以获取connectionStrings:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<connectionStrings>
<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="ProgrammingInCSharpConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=ProgrammingInCSharp;" />
</connectionStrings>
</configSections>
</configuration>
将<connectionStrings>
放在<connectionStrings>
之后解决问题:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections />
<connectionStrings>
<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="ProgrammingInCSharpConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=ProgrammingInCSharp;" />
</connectionStrings>
</configuration>
但我发现许多样本的图案低于
<configSections>
<connectionStrings>
...
</connectionStrings>
</configSections>
在某些情况下可能有用吗? 一般来说配置文件的逻辑是什么,每个部分可能包含哪种信息?
答案 0 :(得分:0)
configSections
节点包含配置部分每个命名空间声明,但通常不用于连接字符串,除非它们是特定于命名空间的。
但我发现许多样本的图案低于
您找到的模式永远不会有效,因为<connectionStrings>
不允许在<configSections>
下直接嵌套 。
这可以通过在<section>
本身下声明连接字符串变量,以及服务器代码是否通过特定命名空间来定位它们来实现。
一个例子:
<configuration>
<configSections>
<section name="section1" type="System.MyNameSpace" />
</configSections>
<section1 connString="...conn.." />
</configuration>
在上面的示例中,命名空间System.MyNameSpace
现在将具有一个名为connString
的变量(字段),因此它可以在后面的代码中将其作为目标。
总之,如果您的连接字符串不是每个命名空间,<connectionStrings>
元素应该直接嵌套在<configuration>
节点下,而不是其他地方。
答案 1 :(得分:0)
没有。您的app.config
节点中无法拥有有效的connectionStrings
文件并且configSections
。{/ p>
根据MSDN,这是允许的元素列表:
section
sectionGroup
add
clear
connectionStrings
不在列表中,我不希望应用程序在该位置找到连接字符串。