一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net 讀取并修改config文件實現代碼

asp.net 讀取并修改config文件實現代碼

2019-06-20 13:40服務器之家 ASP.NET教程

讀取并修改 config 文件的asp.net代碼,方便我們用asp.net修改配置文件。

1. 向項目添加app.config文件: 
右擊項目名稱,選擇“添加”→“添加新建項”,在出現的“添加新項”對話框中,選擇“添加應用程序配置文件”;如果項目以前沒有配置文件,則默認的文件名稱為“app.config”,單擊“確定”。出現在設計器視圖中的app.config文件為: 
<?xmlversion="1.0"encoding="utf-8" ?> 
<configuration> 
</configuration> 
在項目進行編譯后,在binDebuge文件下,將出現兩個配置文件(以本項目為例),一個名為“JxcManagement.EXE.config”,另一個名為“JxcManagement.vshost.exe.config”。第一個文件為項目實際使用的配置文件,在程序運行中所做的更改都將被保存于此;第二個文件為原代碼“app.config”的同步文件,在程序運行中不會發生更改。 
2. connectionStrings配置節: 
請注意:如果您的SQL版本為2005 Express版,則默認安裝時SQL服務器實例名為localhostSQLExpress,須更改以下實例中“Data Source=localhost;”一句為“Data Source=localhostSQLExpress;”,在等于號的兩邊不要加上空格。 
<!--數據庫連接串--> 

復制代碼代碼如下:


<connectionStrings> 
<clear /> 
<addname="conJxcBook" 
connectionString="Data Source=localhost;Initial Catalog=jxcbook;User ID=sa;password=********" 
providerName="System.Data.SqlClient" /> 
</connectionStrings> 


3. appSettings配置節: 
appSettings配置節為整個程序的配置,如果是對當前用戶的配置,請使用userSettings配置節,其格式與以下配置書寫要求一樣。 
<!--進銷存管理系統初始化需要的參數--> 

復制代碼代碼如下:


<appSettings> 
<clear /> 
<addkey="userName"value="" /> 
<addkey="password"value="" /> 
<addkey="Department"value="" /> 
<addkey="returnValue"value="" /> 
<addkey="pwdPattern"value="" /> 
<addkey="userPattern"value="" /> 
</appSettings> 


4.讀取與更新app.config 
對于app.config文件的讀寫,參照了網絡文章:http://www.codeproject.com/csharp/ SystemConfiguration.asp標題為“Read/Write App.Config File with .NET 2.0”一文。 
請注意:要使用以下的代碼訪問app.config文件,除添加引用System.Configuration外,還必須在項目添加對System.Configuration.dll的引用。 
4.1 讀取connectionStrings配置節 

復制代碼代碼如下:


///<summary> 
///依據連接串名字connectionName返回數據連接字符串 
///</summary> 
///<param name="connectionName"></param> 
///<returns></returns> 
private static string GetConnectionStringsConfig(string connectionName) 

string connectionString = 
ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString(); 
Console.WriteLine(connectionString); 
return connectionString; 


4.2 更新connectionStrings配置節 

復制代碼代碼如下:


///<summary> 
///更新連接字符串 
///</summary> 
///<param name="newName">連接字符串名稱</param> 
///<param name="newConString">連接字符串內容</param> 
///<param name="newProviderName">數據提供程序名稱</param> 
private static void UpdateConnectionStringsConfig(string newName, 
string newConString, 
string newProviderName) 

bool isModified = false; //記錄該連接串是否已經存在 
//如果要更改的連接串已經存在 
if (ConfigurationManager.ConnectionStrings[newName] != null) 

isModified = true; 

//新建一個連接字符串實例 
ConnectionStringSettings mySettings = 
new ConnectionStringSettings(newName, newConString, newProviderName); 
// 打開可執行的配置文件*.exe.config 
Configuration config = 
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
// 如果連接串已存在,首先刪除它 
if (isModified) 

config.ConnectionStrings.ConnectionStrings.Remove(newName); 

// 將新的連接串添加到配置文件中. 
config.ConnectionStrings.ConnectionStrings.Add(mySettings); 
// 保存對配置文件所作的更改 
config.Save(ConfigurationSaveMode.Modified); 
// 強制重新載入配置文件的ConnectionStrings配置節 
ConfigurationManager.RefreshSection("ConnectionStrings"); 


4.3 讀取appStrings配置節 

復制代碼代碼如下:


///<summary> 
///返回*.exe.config文件中appSettings配置節的value項 
///</summary> 
///<param name="strKey"></param> 
///<returns></returns> 
private static string GetAppConfig(string strKey) 

foreach (string key in ConfigurationManager.AppSettings) 

if (key == strKey) 

return ConfigurationManager.AppSettings[strKey]; 


return null; 


4.4 更新connectionStrings配置節 

復制代碼代碼如下:


///<summary> 
///在*.exe.config文件中appSettings配置節增加一對鍵、值對 
///</summary> 
///<param name="newKey"></param> 
///<param name="newValue"></param> 
private static void UpdateAppConfig(string newKey, string newValue) 

bool isModified = false; 
foreach (string key in ConfigurationManager.AppSettings) 

if(key==newKey) 

isModified = true; 



// Open App.Config of executable 
Configuration config = 
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
// You need to remove the old settings object before you can replace it 
if (isModified) 

config.AppSettings.Settings.Remove(newKey); 

// Add an Application Setting. 
config.AppSettings.Settings.Add(newKey,newValue); 
// Save the changes in App.config file. 
config.Save(ConfigurationSaveMode.Modified); 
// Force a reload of a changed section. 
ConfigurationManager.RefreshSection("appSettings"); 

 

復制代碼代碼如下:


/// <summary> 
/// 寫入Key,Value 到XML文件 
/// </summary> 
/// <param name="Key"></param> 
/// <param name="Value"></param> 
public static void SaveConfig(string Key,string Value) 

XmlDocument doc = new XmlDocument(); 
//獲得配置文件的全路徑 
string strFileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + "App.config"; 
doc.Load(strFileName); 
//找出名稱為“add”的所有元素 
XmlNodeList nodes = doc.GetElementsByTagName("add"); 
for (int i = 0; i < nodes.Count; i++) 

//獲得將當前元素的key屬性 
XmlAttribute att = nodes[i].Attributes["key"]; 
//根據元素的第一個屬性來判斷當前的元素是不是目標元素 
if (att.Value == Key) 

//對目標元素中的第二個屬性賦值 
att = nodes[i].Attributes["value"]; 

att.Value = Value; 
break; 


//保存上面的修改 
doc.Save(strFileName); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 小仙夜晚慰自催眠mp3护士篇 | 日韩xx00 | 国产一区二区免费福利片 | 亚洲午夜久久久久久91 | 亚洲国产成人99精品激情在线 | 99久久er这里只有精品17 | 国产精品久线观看视频 | 欧美一卡2卡三卡4卡5卡免费观看 | 姐姐不~不可以动漫在线观看 | 女人张开腿让男人桶视频免费大全 | 操比视频 | 毛片资源站 | 无人区在线观看免费观看 | 亚洲日本中文字幕天天更新 | 国产99re在线观看69热 | 加勒比福利| 国产精品网站在线观看 | eeuss免费快捷 | 麻豆视频免费在线观看 | 久久人妻无码毛片A片麻豆 久久热这里只有 精品 | 被老头操| 九九久久精品 | 欧美理论片手机在线观看片免费 | 国产成人久久精品一区二区三区 | 欧美精品久久久亚洲 | 亚洲高清视频免费 | 亚洲精品视频久久 | 91高清免费国产自产 | 7777奇米四色 | 青草草在线观看 | 四虎精品成人免费影视 | 日韩精品一区二三区中文 | 亚洲欧洲淘宝天堂日本 | 韩国最新三级网站在线播放 | 美女脱了内裤打开腿让人桶网站o | 我强进了老师身体在线观看 | 日本一级不卡一二三区免费 | 国内揄拍国内精品久久 | 国产一级片免费视频 | 亚洲国产日韩欧美一区二区三区 | 亚洲精品乱码久久久久久蜜桃 |