app.config怪异

woo*_*ock 2 c# app-config

我的app.config文件发生了一件奇怪的事情.我的ConnectionStrings部分包含:

<connectionStrings>
  <add name="Connection" connectionString="Data Source=TheServer;
   Initial Catalog=TheDatabase;IntegratedSecurity=SSPI" 
   providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

但是,当我通过ConfigurationManager.ConnectionStrings [0]查询该部分时,我得到了这个连接字符串:

Data Source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true
Run Code Online (Sandbox Code Playgroud)

它从哪里获得这个价值?

Paw*_*iak 6

从machine.config中读取,您可以确保在添加自己的连接字符串之前清除所有连接字符串:

<connectionStrings>
  <clear/>
  <add name="Connection" connectionString="Data Source=TheServer;
   Initial Catalog=TheDatabase;IntegratedSecurity=SSPI" 
   providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

或者永远不要通过索引引用您的连接字符串,使用您提供的名称:

ConfigurationManager.ConnectionStrings["Connection"]
Run Code Online (Sandbox Code Playgroud)