关于网站自定义配置文件处理,进来探讨下
我有一个想法,进来探讨下。
做网站的时候写配置文件相信大家都遇到过的,特别是象blog这种。
比如可以在后台定义 blog的名称,一页显示多少条记录, 留言需要验证码不,留言字数等等等等。
通常我们都是写在xml文件里面的。
我来说说我的做法吧~
图片保存路径
<item key="SavePath"><![CDATA[/UploadFile/Product/]]></item>
上传的图片大小,缩放等参数
<item key="MarkImage" size="100" primal="false">
<!--
店标缩略图参数
key:关键字
open:是否启用该缩略图
width:缩略图宽
height:缩略图高
type:缩放模式
place:对齐模式
tail:文件名尾部
-->
<img key="1" open="true" width="108" height="108" type="1" place="0" tail="_1" />
<img key="2" open="true" width="208" height="208" type="1" place="0" tail="_2" />
</item>
网站的注册用户类型
<node key="UserType" remark="用户类型" type="tinyint" size="0 至 255" >
<node text="个人用户" value="0" />
<node text="企业用户" value="1" />
<node text="市场用户" value="2" />
</node>
以上是我在我们网站的xml配置文件中截取的比较典型的三段.
我写了一个静态类,根据xml配置文件写相应的方法返回这些值
比如:
public static List<ListItem> UserType
{
get
{
return Box.ReadXml("/root/node[@key=\"User\"]/node[@key=\"UserType\"]");
}
}
/// <summary>
/// 获取上传图片的目录
/// </summary>
public static string SavePath
{
get
{
return ReadNodeData("/root/node[@key=\"Shop\"]/item[@key=\"SavePath\"]");
}
}
这样调用的时候就相对很方便了。
写得很乱, 不知道大家有没有看懂我的意思 :(
==================================================================
我知道还有一种保存培植文件的方法,就是dz,dv论坛这些,不过我觉得更麻烦。
=================================
用以上的方法写配置文件相对比较好,起码比直接写在代码里面好管理,有条理。
但是我还是觉得很麻烦,修改的时候不仅眼改xml配置文件,还要修改相应的静态类。
小型的网站还好说,大型的网站就麻烦了,修改一个配置文件就要重新部署下
实在太麻烦了 ^o^ ,不知道大家通常是怎么处理的。
刚刚在研究JSON(不会有人不知道吧)
觉得这个格式挺好,用这个做配置文件似乎能带来不少方便。
当然用xml格式也可以,但是编写,读取都蛮复杂
具体想法如下:
建一张Config的表
key: 配置唯一标识
ConfigStr 配置内容
==================================
-------------------------------------
key: SavePath
ConfigStr:/UploadFile/Product/
-------------------------------------
key: MarkImage
ConfigStr:
{
size="100",
primal="false"
item
[
{key="1",open="true",width="108",height="108",type="1",place="0",tail="_1"}
{key="2",open="true",width="208",height="208",type="1",place="0",tail="_2"}
]
}
-------------------------------------
key: UserType
ConfigStr:
{
[
text="个人用户" value="0",
text="企业用户" value="1",
text="市场用户" value="2"
]
}
直接把config所有的内容都cache了
听说.net里面也有一个处理json的组建,(没有就