将不确定变为确定~.config文件,配置系统未能初始化

回到目录

在.config文件中,定义了一些节点,可能是connectionStrings,appSettings,configSections之后进行读取配置节点的信息,结果出现了异常,配置系统未能初始化

非常奇怪的问题,在网上找了一节文章,终于找到了答案,还是自己书写的问题,在MSDN上说的很清楚,你的configSections必须位于configuration节点的第一个元素,你不能将connectionStrings写在configSections上面

出错的代码:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="WebConfigSection" type="MediaActionServer.WebConfigSection, MediaActionServer"/>
  </configSections>
<connectionStrings> <add name="backgroundEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\sqlexpress;Initial Catalog=background;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> </connectionStrings> <WebConfigSection WebName="占占网站" DoMain="www.zhanzhan.com" /> <appSettings> <add key="site" value="www.zzl.com"/> </appSettings> </configuration>

正确的代码:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="WebConfigSection" type="MediaActionServer.WebConfigSection, MediaActionServer"/>
  </configSections>
  <connectionStrings>
    <add name="backgroundEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\sqlexpress;Initial Catalog=background;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

  <WebConfigSection WebName="占占网站" DoMain="www.zhanzhan.com"  />
  <appSettings>
    <add key="site" value="www.zzl.com"/>

  </appSettings>
</configuration>

测试代码:

   static void Main(string[] args)
    {
       Console.WriteLine(System.Configuration.ConfigurationManager.AppSettings["site"]);
       Console.WriteLine(WebConfigManager.Instance.DoMain);
       Console.WriteLine(WebConfigManager.Instance.WebName);
    }

建议:小微这方面作的不是很人性化,怎么读节点还和它的顺序有关呀,希望.net之后的版本可以解决这个问题。

 回到目录

原文地址:https://www.cnblogs.com/lori/p/2997530.html