净手动音量调节网站中配置文件的读写
网站中有很多需要设置的内容,像网站信息,注册设置,上传设置等。如果保存在数据库中需要单独建张表,表中只有一条记录,这样会让数据库很臃肿,而且频繁存取数据库的效率也是个问题。而保存在配置文件里是个不错选择,而且带有缓存功能!
我们可以在网络。配置的配置节写入配置。
配置配置部分部分名称="实体框架工作"类型="系统"。数据。实体。内部。configfile。EntityFramework部分,实体框架,版本=6.0.0.0,区域性=中性,公钥标记=b77 a5c 561934 e 089 '需要权限=' false '/!-这里可以定义配置节- !-有关实体框架配置的更多信息,请访问http://go.microsoft.com/fwlink/?LinkID=237468-/配置部分但是把大量的配置都写入这里也会造成网络。配置的臃肿,可以采用把配置节定义在这里,把具体配置信息保存在其他文件中。
以上传配置信息为例,看一下理想的结构
配置\上传。配置的内容
1、配置的元素。采用添加/的形式,是一个键和值得表示形式添加键='MaxSize '值='1500000' /.2、元素的集合,里面定义一系列的元素上传配置……/上传配置3、自定义节,表示自定义的一个节点节名="上传配置"类型="尼尼微" .模型。模型"/
名称:节点名,类型:处理节点的类行,逗号前是类名,逗号后是缩在程序集。
我们要创建这个类来管理配置
一、创建键,值元素类。
里面只有两个读写属性键和价值,内容非常简单
使用系统。配置;命名空间尼尼微.模特。Config{ ///summary ///键值元素类///备注///创建:2014 .03 .09////备注////摘要公共类keyvalueelements :配置元素{///summary///键////摘要[配置属性(' Key ',IsRequired=true)]公共字符串Key { get { return this['key'].ToString();}设置{此['键']=值;} } ///摘要///值////摘要[配置属性('值')]公共字符串Value { get { return this['value'].ToString();}设置{此[' value ']=值;} } }}二、创建元素集合类。内容很简单都进行了注释
使用系统;使用系统。配置;命名空间尼尼微.模特。Config{ ///summary ///元素集合类///备注///创建:2014 .03 .09////备注////摘要[配置集合(类型为(KeyValueElement))]公共类KeyValueElementCollection : configurationElementCollection {//忽略大小写public KeyValueElementCollection(): base(StringComparer .ordinalignorcase){ }///summary//集合中指定键的元素////summary////param name=' name '/param////returns/returns new public KeyValueElement这个[字符串名称]{ get { return(KeyValueElement)base .BaseGet(名称);}设置{ if (base .属性。包含(名称))基[名称]=值;否则基地BaseAdd(值);} } ///摘要///创建新元素。///必须重写////摘要////返回/返回受保护的覆盖配置元素createNewElement(){ 0返回新的KeyValueElement();} ///摘要///获取元素的键////summary////param name=' element '/param////returns/returns受保护的覆盖对象GetElementKey(配置元素元素){ return ((KeyValueElement)元素)。密钥;} }}三、配置节类
类中定义私有属性键值。进行读写配置节集合,然后定义一系列的需要的配置属性,操作就是对键值的元素读写。
使用系统。配置;命名空间尼尼微.模特。Config{ ///summary ///上传设置配置节///备注///创建:2014 .03 .09////备注////摘要公共类uploadconfig :配置部分{私有静态配置属性_ property=新配置属性(字符串。空,类型为(KeyValueElementCollection),空,配置属性选项. IsDefaultCollection);///摘要///配置列表////摘要[配置属性('),选项=配置属性选项.IsDefaultCollection)]private KeyValueElementCollection KeyValues { get { return(KeyValueElementCollection)base[_ property];}设置{ base[_property]=值;} } ///摘要///最大大小////summary public int MaxSize { get { int _ value=0;if (KeyValues['MaxSize']!=null) int .类键值['MaxSize'].Value,out _ value);return _ value}设置{ if(键值[' MaxSize ']==null)键值[' MaxSize ']=新的键值元素(){ Key=' MaxSize ',Value=value .ToString()};else KeyValues['MaxSize'].价值=价值. ToString();} } ///摘要///上传目录///为应用程序目录起的文件夹名,前面不带~/////摘要公共字符串路径{ get { if(键值[' Path ']==null)返回上传';返回键值['路径']。价值;}设置{ if(键值['路径']==null)键值['路径']=新键值元素(){键='路径',值=值};其他键值['路径']。价值=价值;} } ///摘要///允许上传的图片类型文件扩展,多个用","隔开////摘要公共字符串ImageExt { get { if(KeyValues[' ImageExt ']==null)返回字符串。空的;返回键值['ImageExt'].价值;}设置{ if(键值[' ImageExt ']==null)键值[' ImageExt ']=新键值元素(){键=' ImageExt ',值=值};else KeyValues['ImageExt'].价值=价值;} } ///摘要///允许上传的闪光类型文件扩展,多个用","隔开////摘要公共字符串FlashExt { get { if(key values[' FlashExt ']==null)返回字符串。空的;返回键值['FlashExt'].价值;}设置{ if(键值[' FlashExt ']==null)键值[' FlashExt ']=新键值元素(){ Key=' FlashExt ',Value=Value };else键值['FlashExt'].价值=价值;} } ///摘要///允许上传的媒体类型文件扩展,多个用","隔开////摘要公共字符串MediaExt { get { if(KeyValues[' MediaExt ']==null)返回字符串。空的;返回键值['MediaExt'].价值;}设置{ if(键值[' MediaExt ']==null)键值[' MediaExt ']=新的键值元素(){键=' MediaExt ',值=值};else KeyValues['MediaExt'].价值=价值;} } ///摘要///允许上传的文件类型文件扩展,多个用","隔开////摘要公共字符串文件扩展名{ get { if(KeyValues[' FileExt ']==null)返回字符串。空的;返回键值['FileExt'].价值;}设置{ if(键值[' file ext ']==null)键值[' file ext ']=新键值元素(){ Key=' file ext ',Value=Value };else KeyValues['FileExt'].价值=价值;} } }}四、读取配置也是最关系的,配置信息怎么读出来。在上面类写好后读取非常容易了,只需用网络配置管理器OpenWebConfiguration('~ ').GetSection()获取配置节的实例,局可以使用属性值了
var _uploadConfig=系统网络。配置。webconfiguration manager。打开webconfiguration(~ ').GetSection('上传配置')作为尼尼微.模特。配置上传配置://哎哎哎哎int _maxSize=_uploadConfig .MaxSize(最大大小)://诶哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟string _ fileparth=_ uploadconfig .路径(路径):string _dirName://魏冄哈希表ext table=new哈希表();-是啊添加('图像',_上传配置.imageext-是啊添加('闪存',_uploadConfig .fileext-是啊添加('媒体',_上传配置.中文本;-是啊添加('文件',_uploadConfig .fileext俊儿~我爱你~范仲淹把范仲淹给范仲淹,唉呀呀呀呀呀呀呀呀呀呀保存()-97年,云娥与云娥同在配置\上传。配置-设定档何曰。
绿筠小姐:
var _uploadConfig=系统网络。配置。webconfiguration manager。打开webconfiguration(~ ').GetSection('上传配置')作为尼尼微.模特。配置上传配置://哎哎哎哎int _maxSize=_uploadConfig .MaxSize(最大大小):_uploadConfig .FileExt='doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2 ';_uploadConfig .flashext=' swf,flv ';_uploadConfig .imageext=' gif、jpg、jpeg、png、BMP ';_uploadConfig .mediaext=' swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb ';_uploadConfig .路径=' upload_uploadConfig .当前配置。保存():朱塞佩朱塞佩朱塞佩朱塞佩,阿云阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜阿云娜,吴亚玲吴亚玲吴亚玲。
版权声明:净手动音量调节网站中配置文件的读写是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。