首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET 連接字串重複:被註解掉的舊配置

     編輯:程式設計綜合問答

現象

`web.config` 中出現兩個 `connectionStrings` 區塊,疑似重複。

實際內容

<connectionStrings>
    <add name="MyConn" connectionString="Data Source=...;Initial Catalog=...;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>

<!-- Integrated Security=SSPI -->  <!-- 這行是註解 -->

<connectionStrings>  <!-- 第二個區塊:通常是誤殘留或格式錯誤 -->
    <add name="MyConn2" ... />
</connectionStrings>

分析

  1. 第一個區塊正常,第二個區塊**可能是複製貼上殘留**,或開發者以為註解掉第一個而加入第二個。
  2. XML 標準**不允許**同層級重複 `connectionStrings` 區塊,ASP.NET 執行時會**合併**或**報錯** (視版本)。
  3. 圖中顯示 `` 是**註解**,非連接字串。

修正

<connectionStrings>
    <add name="MainDB" connectionString="Data Source=...;Initial Catalog=...;User ID=...;Password=...;Integrated Security=False" providerName="System.Data.SqlClient" />
    <!-- 如有多個資料庫,繼續 add,但只能有一個 connectionStrings 區塊 -->
</connectionStrings>

最佳實踐

  • **單一 `connectionStrings` 區塊**,多個 `add` 子元素區分 `name`。
  • 敏感資訊 (密碼) **勿寫在 `web.config` 明文**,用 `aspnet_regiis -pef` 加密、Azure Key Vault、環境變數。
  • 使用 `ConfigurationManager.ConnectionStrings["MainDB"].ConnectionString` 讀取。

結論

圖中並非「兩個連接字串」,而是**一個正常區塊 + 一個註解行 + 一個殘留區塊**。清理殘留,保留單一區塊即可。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved