知识大全 .net Framework提供配置文件操作
Posted 操作
篇首语:真正有光的人,压的时间越久,深度越深,绽放的光芒才可以灿烂.本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 .net Framework提供配置文件操作相关的知识,希望对你有一定的参考价值。
.net Framework提供配置文件操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
namespace System Configuration; 创建配置节类必须创建继承自ConfigurationSection的对象才能进行配置数据读写操作 ConfigurationSection提供了索引器用来获取和设置配置数据 需要注意的是拥有ConfigurationProperty特性的属性才会被存储 并且名称要保持大小写完全一致 如下面的代码中 所有的 id 必须保持一样 class ConfigSectionData : ConfigurationSection [ConfigurationProperty( id )] public int Id get return (int)this[ id ]; set this[ id ] = value; [ConfigurationProperty( time )] public DateTime Time get return (DateTime)this[ time ]; set this[ time ] = value; 创建配置文件操作对象 Configuration config = ConfigurationManager OpenExeConfiguration(ConfigurationUserLevel None);ConfigSectionData data = new ConfigSectionData();data Id = ;data Time = DateTime Now;config Sections Add( add data);config Save(ConfigurationSaveMode Minimal);上面的例子是操作 nfig 在根节点(configuration)下写入名称为 add 的配置数据写配置文件在写入 ConfigurationSectionGroup 和 ConfigurationSection 前要判断同名配置是否已经存在 否则会写入失败 另外如果配置文件被其他Configuration对象修改 则保存会失败 并抛出异常 建议采用Singleton模式
ExeConfigurationFileMap file = new ExeConfigurationFileMap();file ExeConfigFilename = nfig ;Configuration config = ConfigurationManager OpenMappedExeConfiguration(file ConfigurationUserLevel None);ConfigSectionData data = new ConfigSectionData();data Id = ;data Time = DateTime Now;ConfigurationSectionGroup group = config SectionGroups[ group ];if (group == null) config SectionGroups Add( group new ConfigurationSectionGroup());ConfigurationSection data = group Sections[ add ] as config;if (add == null) config SectionGroups[ group ] Sections Add( add data);else group Sections Remove( add ); group Sections Add( add data); // 或者直接修改原配置对象 前提是类型转换要成功 //ConfigSectionData configData = add as ConfigSectionData; //configData Id = data Id; //configData Time = data Time;config Save(ConfigurationSaveMode Minimal); 删除配置节删除ConfigurationSectionGroup config SectionGroups Remove( group );//config SectionGroups Clear();config Save(ConfigurationSaveMode Minimal);删除ConfigurationSection config Sections Remove( add );//config Sections Clear();if (config SectionGroups[ group ] != null) config SectionGroups[ group ] Sections Remove( add ); //config SectionGroups[ group ] Sections Clear();config Save(ConfigurationSaveMode Minimal); 其他可以使用 ConfigurationManager OpenMachineConfiguration() 来操作 nfig 文件 或者使用 System Web Configuration 名字空间中的 WebConfigurationManager 类来操作 配置文件 ConfigurationManager还提供了AppSettings ConnectionStrings GetSection()等便捷操作 使用自定义类 补充 回复 ggy 网友的疑问 引用至 ggy 比如ConfigSectionData里面除了简单类型之外 可不可以有自定义的类可以使用自定义类 不过需要定义一个转换器 using System;using System Collections;using System Collections Generic;using System Configuration;using System Globalization;using System ComponentModel;// 要写入配置文件的自定义类class CustomData public CustomData(string s) this s = s; private string s; public string S get return s; set s = value; // 自定义的转换器(演示代码省略了类型判断)class CustomConvert : ConfigurationConverterBase public override bool CanConvertFrom(ITypeDescriptorContext ctx Type type) return (type == typeof(string)); public override object ConvertTo(ITypeDescriptorContext ctx CultureInfo ci object value Type type) return (value as CustomData) S; public override object ConvertFrom(ITypeDescriptorContext ctx CultureInfo ci object data) return new CustomData((string)data);; class ConfigSectionData : ConfigurationSection [ConfigurationProperty( id )] public int Id get return (int)this[ id ]; set this[ id ] = value; [ConfigurationProperty( time )] public DateTime Time get return (DateTime)this[ time ]; set this[ time ] = value; [ConfigurationProperty( custom )] [TypeConverter(typeof(CustomConvert))] // 指定转换器 public CustomData Custom get return (CustomData)this[ custom ]; set this[ custom ] = value; public class Program static void Main(string[] args) Configuration config = ConfigurationManager OpenExeConfiguration(ConfigurationUserLevel None); ConfigSectionData data = new ConfigSectionData(); data Id = ; data Time = DateTime Now; data Custom = new CustomData( abcdefg ); config Sections Add( add data); config Save(ConfigurationSaveMode Minimal); // 读取测试 ConfigSectionData configData = (ConfigSectionData)config Sections[ add ]; Console WriteLine(configData Custom S); 保存后的配置文件相关参考
知识大全 详谈.NET Framework处理XML操作技巧
详谈.NETFramework处理XML操作技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
.NET配置文件简单使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 当我们开发系统的时候要把
讲述如何使用.NET的配置文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! NET的应
这篇文章介绍了net读取非标准配置文件的小例子有需要的朋友可以参考一下 代码如下复制代码代码如下:publicstaticstringConfig(stringkey) &nb
ASP.NET配置文件层次结构和继承 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 您可以在整个
如何在Microsoft.NET中自定义配置文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 加密和解密ASP.NET配置文件(Web.config)
加密和解密ASP.NET配置文件(Web.config) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
知识大全 ASP.NET入门教程 13.3.2 配置文件[1]
ASP.NET入门教程13.3.2配置文件[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
知识大全 ASP.NET入门教程 13.3.2 配置文件[2]
ASP.NET入门教程13.3.2配置文件[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
知识大全 ASP.NET入门教程 11.6 构建配置文件[2]
ASP.NET入门教程11.6构建配置文件[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n