C# 中的 App.Config
本教程將解釋 C# 專案中的 App.Config
檔案並演示如何使用它。
App.Config
或 Application Level Configurations 檔案是一個基於 XML 的檔案,其中包含可用的預定義配置部分,並允許你可以修改自定義配置部分。它通常在建立新專案時自動生成。
一個非常基本的 App.Config
可能如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
如你所見,它僅指定執行時將支援的 .NET 版本。從這裡,你可以自定義應用程式如何定位和載入程式集檔案。對 App.Config
進行哪些修改的典型示例是儲存 connectionStrings
或 appSettings
以在整個專案中訪問。
按照你想要的方式設定 App.Config
檔案後,你可以通過 ConfigurationManager
呼叫其儲存的值。要使用 ConfigurationManager
,你必須為 System.Configuration
新增 using
語句到你的程式碼。
在 C#
中將連線字串新增到 App.config
要新增連線字串,你必須確儲存在 connectionStrings
部分。然後在其中,你可以新增要使用的連線字串和提供程式名稱,其值應該是其連線字串的相應名稱空間。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="myConnectionString"
connectionString="Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
</configuration>
要在你的程式碼中訪問此連線字串,你可以使用 ConfigurationManager
並訪問整個 ConnectionStrings
集合。從那裡,你可以按名稱提取所需的連線字串。
string connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
在 C#
中將應用程式設定新增到 App.config
要新增應用設定配置,你必須確儲存在 appSettings
部分。然後在其中,你可以通過提供將被呼叫的鍵及其值來新增新的應用程式設定。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="TableName" value="SampleTable" />
</appSettings>
</configuration>
要訪問此配置,你可以使用 ConfigurationManager
並使用以下語法訪問整個 AppSettings
集合。
var tableName = ConfigurationSettings.AppSettings["TableName"];
完整的 C# App.Config
示例
現在我們已經討論了 App.Config
檔案的一些概念,我們將它們組合成一個示例。
XML:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<connectionStrings>
<add name="myConnectionString"
connectionString="Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
<appSettings>
<add key="TableName" value="SampleTable" />
</appSettings>
</configuration>
在 App.Config
檔案中,我們儲存了一個連線字串和一個名為 TableName
的配置。請注意它們的不同部分和不同的語法。
C#:
using System;
using System.Configuration;
namespace AppConfig_Example
{
class Program
{
static void Main(string[] args)
{
//Pull the connection string from the App.Config File
string connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
//Pull the app setting from the App.Config File
var tableName = ConfigurationSettings.AppSettings["TableName"];
//Print the values to the console
Console.WriteLine("Configuration String: " + connectionString + "\n");
Console.WriteLine("Table Name: " + tableName);
Console.ReadLine();
}
}
}
我們使用 ConfigurationManager
在程式程式碼中提取儲存在 App.Config
檔案中的值。為了證明它們被正確儲存和提取,它們的值隨後被列印到控制檯。
輸出:
Configuration String: Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True
Table Name: SampleTable