.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>

作为一般规则,具有&lt;add&gt;&lt;remove&gt; 元素的部分(例如appSettingsconnectionStrings 和提供程序配置部分)也有一个&lt;clear&gt; 元素,如果你不这样做,你可以使用它'不想从更高级别的 web.config 或 machine.config 文件中继承元素。

【讨论】:

非常感谢。我喜欢 SO 从来不只是解决问题,我也总是能学到一些有用的东西

以上是关于.NET 2.0 App.Config 连接字符串包含不需要的 SQLExpress 默认值的主要内容,如果未能解决你的问题,请参考以下文章

在 .Net Core 3.1 中解密 app.config 连接字符串

在非 ASP.Net 应用程序中加密连接字符串

当我在 3 层架构中使用 ado.net 模型并尝试将数据从 DAL 加载到 UI 时,它会在 UI app.config 中询问连接字符串

.net中 App.config的作用是啥?

Powershell 调用使用 App.config 的 .NET 程序集

如何从 DBContext(实体框架核心)中的 App.config(不是 .net 核心应用程序)读取值