我的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)
它从哪里获得这个价值?
从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)