当前位置: 首页 > news >正文

在app.config自定义一些配置信息

我们想到的是将xml反序化.这们就可以得到这个对象了

 

None.gif
None.gif    [Serializable()]
None.gif    [XmlRoot(
" FetcherConfig " )]
None.gif    
public   class  FetcherConfiguration
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif       
/**////某些属性
InBlock.gif
InBlock.gif        
public static FetcherConfiguration GetConfig()
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
if (instance_ == null)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif               instance_ 
= (FetcherConfiguration) ConfigurationSettings.GetConfig("FetcherConfig");
ExpandedSubBlockEnd.gif            }

InBlock.gif            
return instance_;
ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedBlockEnd.gif          }

这个xml的信息是从哪来呢?我们是把它放在app.config里的所以我们需要下面的Handler

None.gif public   class  FetcherConfigSerializerSectionHandler:IConfigurationSectionHandler
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
ContractedSubBlock.gifExpandedSubBlockStart.gif        
IConfigurationSectionHandler Members#region IConfigurationSectionHandler Members
InBlock.gif
InBlock.gif        
public object Create(object parent, object configContext, System.Xml.XmlNode section)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            XmlSerializer ser 
= new XmlSerializer(typeof(FetcherConfiguration));
InBlock.gif            
return ser.Deserialize(new XmlNodeReader(section));
ExpandedSubBlockEnd.gif        }

InBlock.gif
ExpandedSubBlockEnd.gif        
#endregion

ExpandedBlockEnd.gif    }

配置
我们需要加入自己的<configSections>
<section name="配置节的名字Xmlroot的名字" type="类的全名,类库的名字" />
接下来就可以把一些信息放到
<configuration>里了
不懂得放哪些.可以先序列化一下你需要的哪个类.把信息复制过来就可以搞定了.

相关文章:

  • 修改Struts2默认的模板配置
  • 乐在其中设计模式(C#) - 装饰模式(Decorator Pattern)
  • 微软有内鬼?还是***太高强?
  • CVSNT用户权限配置
  • 30岁前男人应该完成的事
  • 23招让你系统激情奔放
  • MPLS ××× 的基本配置(三)
  • 让你的博客轻松实现代码高亮显示
  • 如何对Web Application进行安全性评估
  • VS2005(c#)项目调试问题解决方案集锦
  • 百度贴吧里的强贴,转来让园子里的兄弟们乐一乐!
  • Windows Server 2003成员服务器基准用户权限分配策略
  • 学习英文的常用网站
  • asp.net2.0数据访问层
  • HTTP协议简介
  • CAP 一致性协议及应用解析
  • create-react-app项目添加less配置
  • Gradle 5.0 正式版发布
  • idea + plantuml 画流程图
  • Java Agent 学习笔记
  • JS 面试题总结
  • Python连接Oracle
  • React中的“虫洞”——Context
  • scrapy学习之路4(itemloder的使用)
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • yii2权限控制rbac之rule详细讲解
  • 编写符合Python风格的对象
  • 分布式任务队列Celery
  • 基于HAProxy的高性能缓存服务器nuster
  • 浅谈Golang中select的用法
  • 嵌入式文件系统
  • 网络应用优化——时延与带宽
  • 想写好前端,先练好内功
  • 主流的CSS水平和垂直居中技术大全
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • const的用法,特别是用在函数前面与后面的区别
  • ionic异常记录
  • #pragma once与条件编译
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (39)STM32——FLASH闪存
  • (C语言)逆序输出字符串
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (篇九)MySQL常用内置函数
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (转)大道至简,职场上做人做事做管理
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Remoting学习笔记(三)信道
  • .NET 解决重复提交问题
  • .NetCore 如何动态路由