簡體   English   中英

從使用configSource文件的Web.Config中讀取值

[英]Reading value from Web.Config that uses configSource files

為了與這里建議保持一致,我們將連接字符串分成了一個xml文件。 我們的web.config:

//old - works
<connectionStrings>
   <add name="DefaultConnection" 
        connectionString="Data Source=.\SQLExpress;Initial Catalog=xxx;Integrated Security=True;" 
        providerName="System.Data.SqlClient" />
<connectionStrings>
//new - fails
<connectionStrings configSource="connections.config" />

connections.config的內容:

<?xml version="1.0" encoding="utf-8"?>
<connectionStrings>
   <add name="DefaultConnection" connectionString="Data Source=.\SQLExpress;Initial Catalog=xxx;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

這兩個文件都位於項目的根文件夾中。 EntityFramework與這兩種解決方案都可以正常工作。 但是,當我嘗試獲取某些測試的連接字符串時,它無法檢索。這是我們用來提取連接字符串的代碼:

string ConnectionString =
       ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

當我們引入ConfigSource時,直接從web.config中讀取連接字符串是可行的。 我們需要什么使它起作用

您需要將配置文件的“ Copy to Output Directory屬性設置為Copy always Copy if newerCopy if newer

在此處輸入圖片說明

如果不這樣做,則不會將ConnectionStrings.config文件復制到輸出調試/發布文件夾中,因此將找不到該文件。

還要注意,外部文件的名稱應與段名稱相同。 像它應該是connectionStrings.config,而不是connections.config

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM