我这个配置加4G内存吃鸡能吃鸡吗?

应用程序配置文件(App.config)是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。
对于一个config文件:
&?xml version=&1.
应用程序配置文件(App.config)是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序。
对于一个config文件:
&?xml version="1.0" encoding="utf-8" ?&
&configuration&
&appSettings&
&add key="ServerIP" value="127.0.0.1"&&/add&
&add key="DataBase" value="WarehouseDB"&&/add&
&add key="user" value="sa"&&/add&
&add key="password" value="sa"&&/add&
&/appSettings&
&/configuration&
对config配置文件的读写类:
using System.Collections.G
using System.L
using System.T
using System.Text.RegularE
using System.C
using System.ServiceM
using System.ServiceModel.C
namespace NetUtilityLib
public static class ConfigHelper
//依据连接串名字connectionName返回数据连接字符串
public static string GetConnectionStringsConfig(string connectionName)
//指定config文件读取
string file = System.Windows.Forms.Application.ExecutableP
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(file);
string connectionString =
config.ConnectionStrings.ConnectionStrings[connectionName].ConnectionString.ToString();
return connectionS
///&summary&
///更新连接字符串
///&/summary&
///&param name="newName"&连接字符串名称&/param&
///&param name="newConString"&连接字符串内容&/param&
///&param name="newProviderName"&数据提供程序名称&/param&
public static void UpdateConnectionStringsConfig(string newName, string newConString, string newProviderName)
//指定config文件读取
string file = System.Windows.Forms.Application.ExecutableP
Configuration config = ConfigurationManager.OpenExeConfiguration(file);
bool exist = false; //记录该连接串是否已经存在
//如果要更改的连接串已经存在
if (config.ConnectionStrings.ConnectionStrings[newName] != null)
exist = true;
// 如果连接串已存在,首先删除它
if (exist)
config.ConnectionStrings.ConnectionStrings.Remove(newName);
//新建一个连接字符串实例
ConnectionStringSettings mySettings =
new ConnectionStringSettings(newName, newConString, newProviderName);
// 将新的连接串添加到配置文件中.
config.ConnectionStrings.ConnectionStrings.Add(mySettings);
// 保存对配置文件所作的更改
config.Save(ConfigurationSaveMode.Modified);
// 强制重新载入配置文件的ConnectionStrings配置节
ConfigurationManager.RefreshSection("ConnectionStrings");
///&summary&
///返回*.exe.config文件中appSettings配置节的value项
///&/summary&
///&param name="strKey"&&/param&
///&returns&&/returns&
public static string GetAppConfig(string strKey)
string file = System.Windows.Forms.Application.ExecutableP
Configuration config = ConfigurationManager.OpenExeConfiguration(file);
foreach (string key in config.AppSettings.Settings.AllKeys)
if (key == strKey)
return config.AppSettings.Settings[strKey].Value.ToString();
return null;
///&summary&
///在*.exe.config文件中appSettings配置节增加一对键值对
///&/summary&
///&param name="newKey"&&/param&
///&param name="newValue"&&/param&
public static void UpdateAppConfig(string newKey, string newValue)
string file = System.Windows.Forms.Application.ExecutableP
Configuration config = ConfigurationManager.OpenExeConfiguration(file);
bool exist = false;
foreach (string key in config.AppSettings.Settings.AllKeys)
if (key == newKey)
exist = true;
if (exist)
config.AppSettings.Settings.Remove(newKey);
config.AppSettings.Settings.Add(newKey, newValue);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
// 修改system.serviceModel下所有服务终结点的IP地址
public static void UpdateServiceModelConfig(string configPath, string serverIP)
Configuration config = ConfigurationManager.OpenExeConfiguration(configPath);
ConfigurationSectionGroup sec = config.SectionGroups["system.serviceModel"];
ServiceModelSectionGroup serviceModelSectionGroup = sec as ServiceModelSectionG
ClientSection clientSection = serviceModelSectionGroup.C
foreach (ChannelEndpointElement item in clientSection.Endpoints)
string pattern = @"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b";
string address = item.Address.ToString();
string replacement = string.Format("{0}", serverIP);
address = Regex.Replace(address, pattern, replacement);
item.Address = new Uri(address);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("system.serviceModel");
// 修改applicationSettings中App.Properties.Settings中服务的IP地址
public static void UpdateConfig(string configPath, string serverIP)
Configuration config = ConfigurationManager.OpenExeConfiguration(configPath);
ConfigurationSectionGroup sec = config.SectionGroups["applicationSettings"];
ConfigurationSection configSection = sec.Sections["DataService.Properties.Settings"];
ClientSettingsSection clientSettingsSection = configSection as ClientSettingsS
if (clientSettingsSection != null)
SettingElement element1 = clientSettingsSection.Settings.Get("DataService_SystemManagerWS_SystemManagerWS");
if (element1 != null)
clientSettingsSection.Settings.Remove(element1);
string oldValue = element1.Value.ValueXml.InnerX
element1.Value.ValueXml.InnerXml = GetNewIP(oldValue, serverIP);
clientSettingsSection.Settings.Add(element1);
SettingElement element2 = clientSettingsSection.Settings.Get("DataService_EquipManagerWS_EquipManagerWS");
if (element2 != null)
clientSettingsSection.Settings.Remove(element2);
string oldValue = element2.Value.ValueXml.InnerX
element2.Value.ValueXml.InnerXml = GetNewIP(oldValue, serverIP);
clientSettingsSection.Settings.Add(element2);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("applicationSettings");
private static string GetNewIP(string oldValue, string serverIP)
string pattern = @"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b";
string replacement = string.Format("{0}", serverIP);
string newvalue = Regex.Replace(oldValue, pattern, replacement);
测试代码如下:
class Program
static void Main(string[] args)
//string file = System.Windows.Forms.Application.ExecutablePath + ".config";
//string file1 = AppDomain.CurrentDomain.SetupInformation.ConfigurationF
string serverIP = ConfigHelper.GetAppConfig("ServerIP");
string db = ConfigHelper.GetAppConfig("DataBase");
string user = ConfigHelper.GetAppConfig("user");
string password = ConfigHelper.GetAppConfig("password");
Console.WriteLine(serverIP);
Console.WriteLine(db);
Console.WriteLine(user);
Console.WriteLine(password);
ConfigHelper.UpdateAppConfig("ServerIP", "192.168.1.11");
string newIP = ConfigHelper.GetAppConfig("ServerIP");
Console.WriteLine(newIP);
Console.ReadKey();
catch (Exception ex)
Console.WriteLine(ex.Message);
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
/luxiaoxun/p/3599341.html
用云栖社区APP,舒服~
【云栖快讯】支撑千亿营收,阿里如何做研发?淘宝如何做敏捷实践?如何面对开发中的“黑天鹅”事件?6月29日首届阿里研发效能嘉年华,独家直播,赶紧预约吧!&&
C# 软件配置,可以试试 Glacier 框架的配置功能,配置除了可以在 appsettings 里,也支持嵌入的 HOCON 或独立的 HOCON 文件,并且可以将配置绑定到类型,方便管理和调用。详见:/docs/config/
面向阿里云ECS实例、HPC和Docker的文件存储服务。
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
2017云栖大会·上海峰会火热报名中
Loading...C# WinForm程序App.Config数据库连接配置文件的使用过程 - C#教程 - 编程入门网
C# WinForm程序App.Config数据库连接配置文件的使用过程
App.Config【应用程序配置文件】,它其实就是一个标准的XML文件,不过.Net类库已经封装了读取这个文件的方法。可以很方便的使用。看下使用过程。
1.右键解决方案资源管理器中你的项目名,【添加】&【新建项】,选择列表中的【应用程序配置文件】,默认文件即是App.Config。确定。
2.打开App.Config,初始的XML代码为:
&xml version=&1.0& encoding=&utf-8& &
&configuration&
&/configuration&
以下面的格式来设置你的连接字符串
&xml version=&1.0& encoding=&utf-8& &
&configuration&
&connectionStrings&
&!--此处的server可以写(local)或者写个点.--&
&add name=&SQLConnString& connectionString=&server=.;database=数据库名;uid=用户名;pwd=密码&
&/connectionStrings&
&/configuration&
其中name是连接字符串的标识名(类似于一个别名)。connectionString就是你的连接字符串。可以写多个add节点。
注意:格式是固定的
3.在解决方案资源管理器中你的项目中右键【引用】,添加 System.configuration 引用。在代码中同时需要:
using System.C &
4.开始获取了
string connstr= ConfigurationManager.ConnectionStrings[&myconn&].ConnectionS
SqlConnection cn = new SqlConnection(connstr);
cn.Open();
//此时数据库已经打开,可以写相应代码了
URL:/Programming/csharp/46.htm15906人阅读
C#与.Net(38)
读配置很简单,可以用ConfigurationManager.AppSettings[key] 来读出,
可是写配置文件时,如果写成这样
ConfigurationManager.AppSettings[key] = "111";
总是提示只读,那么该怎么办呢?
using System.Collections.G
using System.T
using System.C
/// &summary&
/// 对exe.Config文件中的appSettings段进行读写配置操作
/// 注意:调试时,写操作将写在vhost.exe.config文件中
/// &/summary&
public class ConfigAppSettings
/// &summary&
/// 写入值
/// &/summary&
/// &param name="key"&&/param&
/// &param name="value"&&/param&
public static void SetValue(string key, string value)
//增加的内容写在appSettings段下 &add key="RegCode" value="0"/&
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
config.AppSettings.Settings.Add(key, value);
config.AppSettings.Settings[key].Value =
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");//重新加载新的配置文件
/// &summary&
/// 读取指定key的值
/// &/summary&
/// &param name="key"&&/param&
/// &returns&&/returns&
public static string GetValue(string key)
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
return "";
return config.AppSettings.Settings[key].V
其实也很简单,用这两个封装过的方法就可以了。
需要注意的是,在IDE调试时,写入的配置文件其实是写在了.vshost.exe.config文件中,所以你在.exe.config中是看不到的。只有直接运行exe文件时,才会正确写入到.exe.config中。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:418564次
积分:5204
积分:5204
排名:第4885名
原创:102篇
转载:80篇
评论:58条
(1)(1)(1)(4)(2)(2)(2)(3)(2)(2)(4)(1)(3)(6)(11)(5)(11)(5)(9)(12)(1)(9)(16)(11)(11)(10)(3)(5)(2)(7)(17)(3)

我要回帖

更多关于 4G内存吃鸡 的文章

 

随机推荐