问题描述
我正在编写一个 Windows 服务,我需要 App.config 中定义的所有连接字符串的列表.
I'm writing a windows service and I need the list of all connection strings defined in App.config.
我使用 System.Configuration.ConfigurationManager.ConnectionStrings 来获取所有连接.
I Used System.Configuration.ConfigurationManager.ConnectionStrings to get all connections.
它总是返回这个额外的连接:
it always return this extra connection:
数据源=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;用户实例=true
data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true
我认为是在 machine.config 中添加的.
that I think is added in machine.config.
我的 App.config 是:
my App.config is:
<add name="AvmPortalConnectionString"
connectionString="Data Source=.;Initial Catalog=AvmPortal;Integrated Security=True"
providerName="System.Data.SqlClient" />
无论如何我只能获取 App.config 中定义的连接字符串(而不是 machine.config 中的那个)
Is there anyway that I can get only connection Strings defined in App.config(not the one in machine.config)
我可以删除它,但我想知道是否有更清洁的方法!
I can remove this, but I wonder if there is a cleaner way!
谢谢
推荐答案
尝试在添加前加一个clear:
Try adding a clear before the add:
<connectionStrings>
<clear />
<add name="AvmPortalConnectionString"
connectionString="Data Source=.;Initial Catalog=AvmPortal;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
这篇关于ConfigurationManager.ConnectionStrings 从 machine.config 返回额外的连接字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!