你可以寫一個ini
XXX.ini (C#執行檔名+ini)
裡面內容如下
[DataServer Set]
DBServerIP =127.0.0.1
DBPort =3306
DBUserID =root
DBUserPwd =12345
DBName =aaa
以下先給你參考一下
public static string GlobalDBServerIP; //資料庫主機IP位址
public static string GlobalDBPort; //資料庫主機Port
public static string GlobalDBUserID; //資料庫主機登入帳號
public static string GlobalDBUserPwd; //資料庫主機登入密碼
public static string GlobalDBName; //主要使用之資料庫
public static string GlobalConnString; //資料庫連接字串
public static string GlobalSystemIniFile = System.Diagnostics.Process.GetCurrentProcess().ProcessName + ".ini";
if (!File.Exists(GlobalSystemIniFile)){
using (StreamWriter sw = new StreamWriter(GlobalSystemIniFile, true, Encoding.GetEncoding(950))) {
sw.WriteLine("[DataServer Set]");
sw.WriteLine("DBServerIP = 127.0.0.1");
sw.WriteLine("DBPort = 3306");
sw.WriteLine("DBUserID = root");
sw.WriteLine("DBUserPwd = 12345");
sw.WriteLine("DBName = aaa");
}
}
if (File.Exists(GlobalSystemIniFile)){
GlobalDBServerIP = Myini.IniReadValue("DataServer Set", "DBServerIP", "");
GlobalDBPort = Myini.IniReadValue("DataServer Set", "DBPort", "");
GlobalDBUserID = Myini.IniReadValue("DataServer Set", "DBUserID", "");
GlobalDBUserPwd = Myini.IniReadValue("DataServer Set", "DBUserPwd", "");
GlobalDBName = Myini.IniReadValue("DataServer Set", "DBName", "");
}
也沒很複雜
ini讀取也沒很方便就是
看到 INI 就想到上一家公司主管說 "用 ini 很不專業" ,心中有好多 OS 喔!! 那 Microsoft 真的不專業到現在 Office 與 Windows 系統都還在用 ini 也!!
如果單純使用參數用 INI 反而比用 JSON 來的簡單,JSON 還要設計相關的程式來讀取特定位置的資料,階層還要再想如何設計。
用 INI 取代掉在 Web.Config 內 「自訂參數」反而來的好,保持 Web.Config 單純。專案會以需求的不同會添加相關參數,這需求結束後移除「以專案需求 ini」來保持專案單純。
我覺得能解決問題就是好方法
都還是要懂,因為可能要適應不同情況去解決問題
連接字串寫在App.config裡面才能方便更改
如果你是core需要自建appsetting.json
官網教學:https://docs.microsoft.com/zh-tw/dotnet/api/system.configuration.configurationmanager.connectionstrings?view=netframework-4.8