问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...的配置文件,用什么方式好啊?比如.txt.ini.xml...

发布网友 发布时间:2024-10-23 08:26

我来回答

2个回答

热心网友 时间:2024-11-09 20:44

IIS站点的配置文件一般是一个名为Web.config的文件,这个文件的读取在asp.net中是有封装好的类的,当你的项目引用了System.Configration后就可以使用了,例如ConfigurationManager.AppSettings["xxx"] ,我个人认为一个站点有一个配置文件就可以了,你所说的添加一个配置文件是希望有两个配置文件吗?iis对配置文件都是预读取的,如果web。config中的内容被修改了,iis为了更新内部的配置会重新启动IIS进程

这个类是很早以前写的一个操作xml的小工具,如果你想在站点里添加xml配置的话,这个也许有用

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Xml;
using System.Data;

namespace SeecaaYellow.BusinessFacade
{
/// <summary>
/// 提供将xml当作数据库处理的一些方法
/// </summary>
public class XmlOperation
{
#region 私有成员

private string strdatafile = null;
/// <summary>
/// 数据集
/// </summary>
private DataSet myds = null;
/// <summary>
/// 字符过滤数组 比如 "id=1 and username=trace"
/// </summary>
private string strfilter = null;
/// <summary>
/// 排序的字段 比如 "id desc,username"
/// </summary>
private string strsort = null;
/// <summary>
/// 数据集合中的字段名集合
/// </summary>
private string[] strfields = null;
/// <summary>
/// 数据集合中的数据数组
/// </summary>
private string[] strdata = null;
/// <summary>
/// 模板文件的全路径
/// </summary>
private string strtemplatefile = null;
#endregion

#region 公共属性
/// <summary>
/// 模板文件路径
/// </summary>
public string Strtemplatefile
{
set { this.strtemplatefile = value; }
get { return this.strtemplatefile; }
}
/// <summary>
/// 数据文件路径
/// </summary>
public string Strdatafile
{
set { this.strdatafile = value; }
get { return this.strdatafile; }
}
/// <summary>
/// 字符过滤数组
/// </summary>
public string Strfilter
{
set { this.strfilter = value; }
}
/// <summary>
/// 排序的字段
/// </summary>
public string Strsort
{
set { this.strsort = value; }
}
/// <summary>
/// 数据集合中的字段名
/// </summary>
public string[] Strfields
{
set { this.strfields = value; }
}
/// <summary>
/// 数据集合中的数据数组
/// </summary>
public string[] Strdata
{
set { this.strdata = value; }
}
/// <summary>
/// 数据集合,能放在缓存供调用
/// </summary>
public DataSet Myds
{
set { this.myds = value; }
get { return this.myds; }
}
#endregion

public XmlOperation()
{
//
// todo: 提供将xml当作数据库处理的一些方法
//
}

/// <summary>
/// 取得xml文件的内容并填入dataset
/// </summary>
private void open()
{
try
{
this.myds = new DataSet();
FileStream fin;
fin = new FileStream(this.strdatafile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
this.myds.ReadXml(fin);
fin.Close();
}
catch (Exception ee)
{
Log log = new Log();
log.Struser = "系统";
log.Strdepartment = "读取xml数据";
log.Strfilename = "SeecaaYellow.BusinessFacade.XmlOperation";
log.Strdescription = ee.Message;
log.writelog();
}
}

/// <summary>
/// 将操作结果写入xml
/// </summary>
private void save()
{
try
{
this.myds.WriteXml(this.strdatafile, XmlWriteMode.WriteSchema);
}
catch (Exception ee)
{
Log log = new Log();
log.Struser = "系统";
log.Strdepartment = "保存xml数据";
log.Strfilename = "SeecaaYellow.BusinessFacade.XmlOperation";
log.Strdescription = ee.Message;
log.writelog();
}
}

/// <summary>
/// 取得特定的数据视图
/// 一般在数据绑定的时候,我们能非常方便的生成供绑定的视图
/// </summary>
/// <returns>数据视图</returns>
public DataView selectview()
{
if (this.myds == null) this.open();
DataView mydv = new DataView(this.myds.Tables[0]);
if (strfilter != null) mydv.RowFilter = this.strfilter;
mydv.Sort = this.strsort;
return mydv;
}

/// <summary>
/// 取得特定的行
/// 使用行的方式是因为有些时候,我们仅仅只需要某一行或多行记录
/// 比如我们判断登陆的时候,只是需要某个id的所在行,然后匹配他的密码项
/// </summary>
/// <returns>各行数据</returns>
public DataRow[] selectrows()
{
if (this.myds == null) this.open();
DataRow[] myrows = myds.Tables[0].Select(this.strfilter);
return myrows;
}

/// <summary>
/// 往xml当中插入一条数据
/// </summary>
/// <returns>操作是否成功</returns>
public bool insert()
{
if (this.myds == null) this.open();

try
{
DataRow newrow = myds.Tables[0].NewRow();

for (int i = 0; i < this.strfields.Length; i++)
{
newrow[this.strfields[i]] = this.strdata[i];
}

myds.Tables[0].Rows.Add(newrow);
this.save();
return true;
}
catch (Exception ee)
{
Log log = new Log();
log.Struser = "系统";
log.Strdepartment = "写入xml数据";
log.Strfilename = "SeecaaYellow.BusinessFacade.XmlOperation";
log.Strdescription = ee.Message;
log.writelog();
return false;
}
}

/// <summary>
/// 更新数据,这个时候要确保strfields 和 strdata 两个数组的维数一致
/// </summary>
/// <returns>是否更新成功</returns>
public bool update()
{
if (this.myds == null) this.open();

try
{
DataRow[] editrow = myds.Tables[0].Select(this.strfilter);

for (int j = 0; j < editrow.Length; j++)
{
for (int i = 0; i < this.strfields.Length; i++)
{
editrow[j][this.strfields[i]] = this.strdata[i];
}
}
this.save();
return true;
}
catch (Exception ee)
{
Log log = new Log();
log.Struser = "系统";
log.Strdepartment = "更新xml数据";
log.Strfilename = "SeecaaYellow.BusinessFacade.XmlOperation";
log.Strdescription = ee.Message;
log.writelog();
return false;
}
}

/// <summary>
/// 删除数据
/// </summary>
/// <returns>是否删除成功</returns>
public bool delete()
{
if (this.myds == null) this.open();

try
{
DataRow[] editrow = myds.Tables[0].Select(this.strfilter);
for (int i = 0; i < editrow.Length; i++)
{
editrow[i].Delete();
}
this.save();
return true;
}
catch (Exception ee)
{
Log log = new Log();
log.Struser = "系统";
log.Strdepartment = "删除xml数据";
log.Strfilename = "SeecaaYellow.BusinessFacade.XmlOperation";
log.Strdescription = ee.Message;
log.writelog();
return false;
}
}

/// <summary>
/// 根据一个模板,新建一个xml文件(前提是必须有一个模板文件、并确定目标文件路径)
/// </summary>
/// <returns>写入是否成功</returns>
public bool create()
{
try
{
XmlDocument doc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(this.strtemplatefile);
doc.Load(reader);
XmlElement member;
XmlNode root = doc.DocumentElement;

for (int i = 0; i < this.strfields.Length; i++)
{
member = doc.CreateElement(strfields[i].ToString());
member.InnerText = this.strdata[i].ToString();
root.AppendChild(member);
}

XmlTextWriter xmlwriter = new XmlTextWriter(this.strdatafile, null);
xmlwriter.Formatting = Formatting.Indented;
doc.Save(xmlwriter);

xmlwriter.Close();
reader.Close();
return true;
}
catch (Exception ee)
{
Log log = new Log();
log.Struser = "系统";
log.Strdepartment = "新建xml数据";
log.Strfilename = "SeecaaYellow.BusinessFacade.XmlOperation";
log.Strdescription = ee.Message;
log.writelog();
return false;
}
}

/// <summary>
/// 释放资源
/// </summary>
public void clear()
{
if (this.myds != null)
{
this.myds.Dispose();
}
}
}
}

热心网友 时间:2024-11-09 20:50

看你配置信息的复杂程度了。如果是简单的一些配置,可以使用ini文本配置,这样读取起来方便一些。但是如果配置信息具有层次化的特点,那么ini这样的文本文件就无能为力了。这就需要是XML格式的配置文件,也就是说XML格式的配置文件可以表达树形的层次关系,对于复杂内容的配置文档是再适合不过的了。
...的配置文件,用什么方式好啊?比如.txt.ini.xml...

IIS站点的配置文件一般是一个名为Web.config的文件,这个文件的读取在asp.net中是有封装好的类的,当你的项目引用了System.Configration后就可以使用了,例如ConfigurationManager.AppSettings["xxx"] ,我个人认为一个站点有一个配置文件就可以了,你所说的添加一个配置文件是希望有两个配置文件吗?iis对配置文件都是预读...

C# winform 的配置文件用什么保存好,txt,ini.还是xml.

都可以,看你自己选择了 txt需要自定义格式 xml可以用XmlDocument操作 ini要通过DllImport("kernel32")来引入外部函数操作

深度学习项目中配置文件探析,用ini、json还是yaml?附源码示例

首先,py文件内的配置简单易用,但跨语言共享性较差。Python内置的configparser库支持ini或cfg格式,如config.cfg,其结构包括节、键和值。读取时,使用configparser将配置转换为字典便于调用。json作为另一种流行方式,其简洁且易于处理字符串和字典。将cfg转换为json后,读取代码同样直观。然而,json的注释和...

啥是配置文件呢,具体该怎样用

配置文件就是记录软件或者系统运行时需要的基本信息的文件,常见的配置文件有xml格式,也有ini纯文本格式的。说简单点,就是key-value对,通过键查找值。比如windows的启动文件是boot.ini,文件内容如下:[boot loader]timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS [operating system...

c# 里用ini和xml作为保存配置哪种比较方便?或者有其他更方便的吗。

一般弄一个配置实体类 所有的配置都是其中一个属性或者字段或者子对象 然后需要保存读取的时候 可以用序列化和反序列化成xml/json/二进制 进行文件保存和读取

请问编写软件的配置信息保存在哪里最好呢?

和文本文件一个回事.用户拿记事本打开dat.照样当你是txt看.本人觉得ini 和xml文件比较的好.. 而且加密应该是必须的.但如果是无所谓的信息的话,那就不必加密,浪费程序开发周期. 但配置文本格式出错的时候 程序必须要能正确处理 这个最重要. 毕竟 "崩"的一声感觉很不爽....

.NET配置文件大揭秘:轻松读取JSON、XML、INI和环境变量

INI文件是一种简单的配置文件格式,通常用于保存简单的键值对配置。读取INI文件的实例描述和使用示例如下:环境变量通常用于存储敏感信息,如API密钥或数据库连接字符串。读取环境变量的实例描述和使用示例如下:以上代码提供了使用IConfiguration读取JSON、XML、INI文件以及环境变量的通用方法,使得配置信息的获取...

关于千千静听的问题

一样的文件信息操作方式,请在选项里的“播放列表”页中将读取信息改为“添加”时,并且选上“缓存文件信息到播放列表”。?四.歌词问:怎么使用歌词秀,为什么我自己从网上下载的歌词就不能显示? 歌词文件有一定的格式,一般以LRC和TXT后缀,每句歌词前面有[00:00.00]这样的时间标签,如果没有这些标签的歌词是无法显示...

yaml,json,ini,xml用来做配置文件,优缺点分别是什么?

在配置文件的选择上,ini、toml、yaml、json、xml以及plist各有特点。不同文件类型在可读性、数据复杂度和使用场景上存在差异,适合不同需求。从人类编写的角度考虑,ini格式被认为是最直观的配置文件类型。它以键值对的形式,以易读的文本模式展示,适合初学者快速上手编写。然而,其复杂度较低,不支持...

将设置信息写到INI文件还是XML好

xml有节点信息,读写更方便,如果是有结构的可以存在xml里。如果存在ini里可以存成json格式

java配置文件有什么用 vm以独占方式锁定配置文件 读取配置文件的方法 java中的配置文件 java获取配置文件的路径 配置文件 Java加载配置文件 java 读取配置文件 获取配置文件中
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
做鼻小柱用什么材料好? 谁有visio2003版 WIN7 64位啊,有的话发个连接 中山东区怎样坐车去珠海 ...忘记了ID密码,苹果官网发来一个这样的网址,请问怎么操作? 苹果id被锁定26天后可以重设密码 快手发作品配的说说大全 四年级语文爬山虎的脚教案 工作井内有哪些设备 南方电网检查井内设有排管吗 安装电缆施工 武汉理工大学 自考 骗人的吗 公务员录用体检表一定是公务员吗 公务员录用体检表 公务员体检会盖章合格吗 穷黄是什么意思? 梧州有什么教育机构 黄权贵族是什么意思? 梧州学院学生委员会机构设置 最好斗的动物 宋朝能用唐朝的钱吗 到劳动监察局的一天 ...店打印的东西,原本是仿宋,怎么打出来就变成了宋体啊... 移动无线流量套餐蛮贵的,有其他的流量卡吗 06337383759是什么单位号码 0633--36511114是哪里的电话? 在外地日照市的固定电话要打要先拨区号是什么数学题 日照固定电话撤销 大会主持人讲话技巧 我三台电脑用交换机连接一台可以上网其他无法互相连接 为什么按了交换机还是只能一台电脑上啊。其它的拨不上号。 向高手请教 关于 XMl的读写 以下这个方法和XMl文件 可以读 可以写 但 ... “驾勒余寒放晚晴”的出处是哪里 “天外虹收放晚晴”的出处是哪里 “草树低迷爱晚晴”的出处是哪里 菁华怎么造句 笔记本电脑在待机情况下出现死机情况,请问是怎么回事? 2024年郑州排名前三的民办计算机学校名单 郑州it学校哪个好 眼睛有时候模糊是怎么回事 一般不向社会公开的问责方式是什么 长期职业目标怎么写 如何挑选双面羊绒大衣? 藏宝阁电子钱包支付密码什么时候才能改啊!cao他妈的网易等等等新功能你... ...支付密码忘记 我想现在吧这钱直接用在游戏上怎么用 网易宝拿我们的钱干吗去了 为何取消挂失功能 只能看到数字却拿不到? JavaScript 设计模式之开关闭包(Closure Toggle) ...按钮或点击其他区域关闭该div,javascript代码如何实现? Bootstrap点击一个输入框(data-toggle="modal" data-target=“id”)然 ... 胶棉拖把如何换 胶棉拖把头怎么换 胶棉拖把如何换拖把头