Maison  >  Article  >  développement back-end  >  asp.net lit et modifie le code d'implémentation du fichier de configuration

asp.net lit et modifie le code d'implémentation du fichier de configuration

高洛峰
高洛峰original
2016-12-24 13:11:511292parcourir

Ajoutez le fichier app.config au projet :

Cliquez avec le bouton droit sur le nom du projet, sélectionnez "Ajouter" → "Ajouter un nouvel élément", dans la boîte de dialogue "Ajouter un nouvel élément" qui apparaît, sélectionnez « Ajouter un fichier de configuration d'application » ; si le projet n'a pas de fichier de configuration auparavant, le nom du fichier par défaut est « app.config », cliquez sur « OK ». Le fichier app.config qui apparaît dans la vue Concepteur est :
b7fb1c986616c7c40c0535ea39670d25
f9d9f4a8f32d97f3ef0c10742ed31240 🎜>Une fois le projet compilé, deux fichiers de configuration apparaîtront sous le fichier binDebuge (en prenant ce projet comme exemple), l'un nommé "JxcManagement.EXE.config" et l'autre nommé "JxcManagement.vshost.exe.config"". Le premier fichier est le fichier de configuration réellement utilisé par le projet, et toutes les modifications apportées pendant l'exécution du programme seront enregistrées ici ; le deuxième fichier est le fichier de synchronisation du code original "app.config", qui n'aura pas lieu pendant l'exécution du projet ; Le programme est en cours d'exécution.
2. Section de configuration connectionStrings :
Veuillez noter : si votre version SQL est la version 2005 Express, le nom de l'instance du serveur SQL d'installation par défaut est localhostSQLExpress. Vous devez modifier la phrase "Data Source=localhost;" à "Data Source=localhostSQLExpress;", n'ajoutez pas d'espaces des deux côtés du signe égal.
1b0be7131c0415ee3bc273cdd0590345

section de configuration appSettings :
<connectionStrings> 
<clear /> 
<addname="conJxcBook" 
connectionString="Data Source=localhost;Initial Catalog=jxcbook;User ID=sa;password=********" 
providerName="System.Data.SqlClient" /> 
</connectionStrings>
la section de configuration appSettings est la configuration de l'ensemble du programme. S'il s'agit de la configuration actuelle. utilisateur, veuillez utiliser La section de configuration userSettings a le même format que les exigences d'écriture de configuration suivantes.

d6a94cc2cc9550d5f79e6124011adc21

Lire et mettre à jour app.config
<appSettings> 
<clear /> 
<addkey="userName"value="" /> 
<addkey="password"value="" /> 
<addkey="Department"value="" /> 
<addkey="returnValue"value="" /> 
<addkey="pwdPattern"value="" /> 
<addkey="userPattern"value="" /> 
</appSettings>
Lire et écrire l'application. .config, reportez-vous à l'article en ligne : http://www.codeproject.com/csharp/SystemConfiguration.asp intitulé "Read/Write App.Config File with .NET 2.0".

Veuillez noter : pour utiliser le code suivant pour accéder au fichier app.config, en plus d'ajouter une référence à System.Configuration, vous devez également ajouter une référence à System.Configuration.dll dans le projet.
4.1 Lire la section de configuration connectionStrings

4.2 Mettre à jour la section de configuration 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.3 Lire la section de configuration appStrings
///<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.4 Mettre à jour Section de configuration connectionStrings
///<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; 
}

///<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); 

}


Pour plus d'articles sur la lecture et la modification du code d'implémentation du fichier de configuration asp.net, veuillez faire attention au site Web chinois de PHP !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn