c#读写ini配置文件示例
[ 2022-01-22 10:27:40 | 作者: admin ]
虽然c#里都是添加app.config 并且访问也很方便 ,有时候还是不习惯用他。那么我们来做个仿C++下的那种ini配置文件读写吧
其他人写的都是调用非托管kernel32.dll。我也用过 但是感觉兼容性有点不好 有时候会出现编码错误,毕竟一个是以前的系统一个是现在的系统。咱来写一个纯C#的ini格式配置文件读取,其实就是文本文件读写啦。但是我们要做的绝不仅仅是这样 是为了访问操作的方便 更是为了以后的使用。
都知道ini格式的配置文件里各个配置项 其实就是一行一行的文本 key跟value 用等号隔开。
像这样:
grade=5 。
各个配置项又进行分组 同类型的放到一起 称之为section 以中括号([])区分。
像这样:
[contact]
qq=410910748
website=assassinx.cnblogs.com
[score]
math=85
...
阅读全文…
其他人写的都是调用非托管kernel32.dll。我也用过 但是感觉兼容性有点不好 有时候会出现编码错误,毕竟一个是以前的系统一个是现在的系统。咱来写一个纯C#的ini格式配置文件读取,其实就是文本文件读写啦。但是我们要做的绝不仅仅是这样 是为了访问操作的方便 更是为了以后的使用。
都知道ini格式的配置文件里各个配置项 其实就是一行一行的文本 key跟value 用等号隔开。
像这样:
grade=5 。
各个配置项又进行分组 同类型的放到一起 称之为section 以中括号([])区分。
像这样:
[contact]
qq=410910748
website=assassinx.cnblogs.com
[score]
math=85
...
阅读全文…
c#将json串转换成数组(使用Newtonsoft)
[ 2022-01-17 17:04:33 | 作者: admin ]
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
string jsonText =
"{'Total':'0','Rows':[{'id':'31','project':'6','project_name':'一卡通','name':'接口测试!','assignedTo':'zhangsan',"
+"'realname':'张三','estStarted':'2016/11/23','realStarted':'2000/01/01','status':'wait'},"
+ "{'id':'32','project':'6','project_name':'一卡通','name':'测试服务器调通!','assignedTo':'lisi',"
...using Newtonsoft.Json;
string jsonText =
"{'Total':'0','Rows':[{'id':'31','project':'6','project_name':'一卡通','name':'接口测试!','assignedTo':'zhangsan',"
+"'realname':'张三','estStarted':'2016/11/23','realStarted':'2000/01/01','status':'wait'},"
+ "{'id':'32','project':'6','project_name':'一卡通','name':'测试服务器调通!','assignedTo':'lisi',"
阅读全文…
关于win2003运行DTcms的问题,已经安全狗的误报错误拦截日志
[ 2021-09-29 13:59:40 | 作者: admin ]
1、需要.net4.0,开启 .axd, .ashx 后缀
2、安全狗安全防御中删除骑士cms apache 本地文件包含漏洞,否则新闻的封面图无法上传
安全狗误报错误拦截提示:
2、安全狗安全防御中删除骑士cms apache 本地文件包含漏洞,否则新闻的封面图无法上传
安全狗误报错误拦截提示:
访问xg98.com/tools/upload_ajax.ashx?action=UpLoadFile&DelFilePath=&DelFilePath=&id=WU_FILE_0&name=01.jpg&type=image/jpeg&lastModifiedDate=Thu+Aug+19+2021+10:42:26+GMT+0800+(中国标准时间)&size=261217,拦截原因:骑士cms apache 本地文件包含漏洞,可疑内容:&type=image/
win2003的iis6上运行DTcms .net4.0的网站,不能删除映射 .axd (url rewrite伪静态,httpHandlers实现.Net无后缀名Web访问)
[ 2018-03-22 11:10:21 | 作者: admin ]
ps. 今天在win2003的iis6上了一个.net4的网站,网站选择使用.net4版本运行,但是请求url伪静态的时候出现问题,后来发现少加了映射规则 *.axd。
第一、iis6运行.net4需要的主要映射如下
另外在win2003安装.net4.0框架需要先安装wic_x86_chs.exe
https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=32
第二、当使用.aspx和.html 伪静态后缀时,不能勾选判断文件是否存在,否则返回404
dtcms在iis6下不要使用.html后缀伪...
阅读全文…
第一、iis6运行.net4需要的主要映射如下
.aspx
.ashx
.asmx
.config
.axd
.webinfo
.ashx
.asmx
.config
.axd
.webinfo
另外在win2003安装.net4.0框架需要先安装wic_x86_chs.exe
https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=32
第二、当使用.aspx和.html 伪静态后缀时,不能勾选判断文件是否存在,否则返回404
dtcms在iis6下不要使用.html后缀伪...
阅读全文…
c# 正则表达式中遇到的问题,@符号下无法匹配识别双引号
[ 2014-05-19 13:02:45 | 作者: admin ]
ps:这个跟是否在正则中无关,如果字符串前不加@,那么在字符串中用\"对"转义,如果字符串前面加了@,那么在字符串中用""对"转义
假如某个网页的源代码中有如下一段:
使用@符号,匹配字符串为:
不使用@符号,则匹配字符串为:
注意:因为有了@符号来取消转义,可以看到里面的双引号无法使用\来实现转义,必须加双引号实现转义,即 "" 才能匹配到内容
参考:
======================...
阅读全文…
假如某个网页的源代码中有如下一段:
<span class="img">图片1</span>
使用@符号,匹配字符串为:
@"<span\s+class=""img"">([\S\s]*?)</span>"
不使用@符号,则匹配字符串为:
"<span\\s+class=\"img\">([\\S\\s]*?)</span>"
注意:因为有了@符号来取消转义,可以看到里面的双引号无法使用\来实现转义,必须加双引号实现转义,即 "" 才能匹配到内容
参考:
======================...
阅读全文…
vs2003中使用ueditor .net 版本,配置上传文件目录
[ 2014-03-21 12:04:31 | 作者: admin ]
ueditor .net 是.net4框架下开发的,要再.net1.1和.net2.0 (2-3.5)下使用
在包含cs文件的时候,编译的属性需要选择 内容,而不是编译
一共就2个cs文件,Uploader.cs 和 config.cs,其他文件都可以不包含
【编辑器上传图片配置】
1、配置图片的上传路径 ueditor1_3_6\net\Config.cs
阅读全文…
在包含cs文件的时候,编译的属性需要选择 内容,而不是编译
一共就2个cs文件,Uploader.cs 和 config.cs,其他文件都可以不包含
【编辑器上传图片配置】
1、配置图片的上传路径 ueditor1_3_6\net\Config.cs
public static string[] ImageSavePath = new string[] { "upload1", "upload2", "upload3" };
改为public static string[] ImageSavePath = new string[]
...阅读全文…
IIS上注册.Net
[ 2014-01-06 12:33:29 | 作者: admin ]
一般的.net安装顺序为:IIS→数据库→VS
如果先安装了.Net平台,后再安装IIS,那么在IIS中可能就没有出现ASP.NET版本的下拉菜单,这是我们可手动注册.Net
一般.Net版本都存放在:C:\WINDOWS\Microsoft.NET\Framework中
这里举例安装v2.0.50727版本
开始→运行→CMD
在CMD窗口中输入:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
按回车键后便会开始自动安装,安装完重启一下IIS在IIS中ASP.NET选项卡便可以看到。
(如果CMD窗口不能粘贴,可右键点标题栏,在弹出的选项里选“属性”,打开“选项”选项卡,选择“编辑选项”中的“快速编辑模式” 这样以后如果要在cmd中粘帖,只需要在cmd中点一下右键就可以了。)
...
阅读全文…
如果先安装了.Net平台,后再安装IIS,那么在IIS中可能就没有出现ASP.NET版本的下拉菜单,这是我们可手动注册.Net
一般.Net版本都存放在:C:\WINDOWS\Microsoft.NET\Framework中
这里举例安装v2.0.50727版本
开始→运行→CMD
在CMD窗口中输入:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
按回车键后便会开始自动安装,安装完重启一下IIS在IIS中ASP.NET选项卡便可以看到。
(如果CMD窗口不能粘贴,可右键点标题栏,在弹出的选项里选“属性”,打开“选项”选项卡,选择“编辑选项”中的“快速编辑模式” 这样以后如果要在cmd中粘帖,只需要在cmd中点一下右键就可以了。)
...
阅读全文…
“不 能通过已删除的行访问该行的信息。”错误原因
[ 2013-09-09 10:56:14 | 作者: admin ]
用 DataTable.Rows[i].Delete(); 删除后,然后循环读取datatable,结果还能遍历到原来的行,错误提示“不能通过已删除的行访问该行的信息。”
查阅资料才知道 Delete() 删除后 仅标记行状态为Deleted,并没有真正删除。确认改变需要再次调用RejectChanges()方法。
如果要彻底删除datarow,需要Delete()和AccepteChanges()方法同时使用,或者采用 datatable.Rows.RemoveAt(i)方法直接删除,其中i表示行索引,还有一个就是 datatable.Rows.Remove(DataRow dr)删除指定行。使用datatable.Rows.RemoveAt(i)要注意,如果连续使用 datatable.Rows.RemoveAt(0);datatable.Rows.RemoveAt(1);这时并不...
阅读全文…
查阅资料才知道 Delete() 删除后 仅标记行状态为Deleted,并没有真正删除。确认改变需要再次调用RejectChanges()方法。
如果要彻底删除datarow,需要Delete()和AccepteChanges()方法同时使用,或者采用 datatable.Rows.RemoveAt(i)方法直接删除,其中i表示行索引,还有一个就是 datatable.Rows.Remove(DataRow dr)删除指定行。使用datatable.Rows.RemoveAt(i)要注意,如果连续使用 datatable.Rows.RemoveAt(0);datatable.Rows.RemoveAt(1);这时并不...
阅读全文…