.NET 2.0 App.Config 连接字符串包含不需要的 SQLExpress 默认值
Posted
技术标签:
【中文标题】.NET 2.0 App.Config 连接字符串包含不需要的 SQLExpress 默认值【英文标题】:.NET 2.0 App.Config connection strings includes unwanted SQLExpress default 【发布时间】:2011-11-26 06:30:18 【问题描述】:我在 .NET 2.0 项目的 app.config 文件中使用 connectionStrings
部分。 config 部分包含我定义的两个连接字符串。
当我检索到 ConnectionStringSettingsCollection
时,它的计数为 3。第 0 个条目是与 SQLExpress 的连接
Name: LocalSqlServer,
ConnectionString: data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true
为什么这个连接即使不在我的 app.config 中也被包含在内,我该如何摆脱它?此代码将在我无法访问的桌面计算机上运行 - 那么如何防止更多本地连接在运行时随机出现?我在连接上看不到任何表明它与我定义的两个不同的属性。
【问题讨论】:
我怀疑它与SqlMembershipProvider
(或者可能是另一个内置提供程序)有关。您是否尝试过在 web.config 中配置或拥有一个?
【参考方案1】:
它在 machine.config 中定义。要摆脱它,请使用:
<connectionStrings>
<clear/>
<add ... >
</connectionStrings>
作为一般规则,具有<add>
和<remove>
元素的部分(例如appSettings
、connectionStrings
和提供程序配置部分)也有一个<clear>
元素,如果你不这样做,你可以使用它'不想从更高级别的 web.config 或 machine.config 文件中继承元素。
【讨论】:
非常感谢。我喜欢 SO 从来不只是解决问题,我也总是能学到一些有用的东西以上是关于.NET 2.0 App.Config 连接字符串包含不需要的 SQLExpress 默认值的主要内容,如果未能解决你的问题,请参考以下文章
在 .Net Core 3.1 中解密 app.config 连接字符串
当我在 3 层架构中使用 ado.net 模型并尝试将数据从 DAL 加载到 UI 时,它会在 UI app.config 中询问连接字符串