用XML反序列化快速完成ASP.NET配置文件
2010-07-16 10:23
344 查看
一般来说,asp.net的配置文件用web.config就可以解决,但是有时候我们希望完全用自己的形式来配置某些东西,比如希望用下面的形式来配置一个站点的所有有message。
<Messages>
<Message ID="ID1">Message1</Message>
<Message ID="ID2">Message1</Message>
</Messages>
这时候用ConfigurationElement就搞不懂中间的那个Message1的那样的配置了。这时候,我们可以用xml反序列化来解决这个问题。
为了用反序列化,我们必须要建立一个messages对应的class,借助于XML 架构定义工具(xsd.exe)很容易就完成这个目标:
第一步是XML→XML 架构(xsd文件) 命令就是:xsd xml文件名,这个地方需要注意的是,这个xml文件名的扩展名必须是.xml
第二步是xsd→class 命令就是:xsd xsd文件名 /c ,如果想要指定生成的class的namespace,那么加上/n:mynamespace 就可以了。
这样这个xml对应的class就完全生成了,接下来就是xml反序列化读取了。另外,为了提高性能,还可以以这个配置文件的物理路径作为缓冲依赖,把这个配置加入缓存。
<Messages>
<Message ID="ID1">Message1</Message>
<Message ID="ID2">Message1</Message>
</Messages>
这时候用ConfigurationElement就搞不懂中间的那个Message1的那样的配置了。这时候,我们可以用xml反序列化来解决这个问题。
为了用反序列化,我们必须要建立一个messages对应的class,借助于XML 架构定义工具(xsd.exe)很容易就完成这个目标:
第一步是XML→XML 架构(xsd文件) 命令就是:xsd xml文件名,这个地方需要注意的是,这个xml文件名的扩展名必须是.xml
第二步是xsd→class 命令就是:xsd xsd文件名 /c ,如果想要指定生成的class的namespace,那么加上/n:mynamespace 就可以了。
这样这个xml对应的class就完全生成了,接下来就是xml反序列化读取了。另外,为了提高性能,还可以以这个配置文件的物理路径作为缓冲依赖,把这个配置加入缓存。
相关文章推荐
- 利用XML序列化和Asp.Net Web缓存实现站点配置文件
- ASP.NET下使用xml反序列化、缓存实现个性化配置文件的实时生效
- ASP.NET下使用xml反序列化、缓存依赖实现个性化配置文件的实时生效
- asp.net导出excel-一行代码实现excel、xml、pdf、word、html、csv等7种格式文件导出功能而且美观-SNF快速开发平台
- 【ASP.NET Core快速入门】(五)命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options
- Asp.Net大型项目实践(13)-尽可能的去掉项目中的大量XML配置文件
- ASP.NET中的Web.config应用程序配置文件简介
- ASP.NET 多环境下配置文件web.config的灵活配置
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(10):服务器端和客户端数据类型的自动转换:以XML方式序列化数据、小结
- ASP.NET配置文件Web.config
- ASP.NET(C#)应用程序配置文件app.config/web.config的增、删、改操作
- asp.net数据库生成xml文件
- 使用.NET读取XML文件,.net开发,.net,ASP.NET
- [Asp.net 5] Options-配置文件之后的配置
- ASP.NET配置文件中常用到的节点信息
- ASP.NET 配置文件
- ASP.NET MEMBERSHIP的XML配置
- 分析ASP.NET读取XML文件4种方法
- ASP.NET状态管理之十(配置文件Profile)
- ASP.NET数据库连接字符串写在config.web配置文件中