随笔分类 - C#
摘要:C#下TripleDES默认支持16位和24位的秘钥,而Java下的DESedeKeySpec就只支持24位,其实怎么说呢,按3DES规范要求,的确其秘钥应该是24位而不是16位的,但16位秘钥可以按 前8位+后8位+前8位 的规则来升级成24位的秘钥,所以我们只需要简单的通过数组的Copy就可以将
阅读全文
摘要:今天项目中好多地方的TransactionScope突然出现超时或者空指针的情况,但是近期也无代码的修改与提交。后来仔细研究后发现,是Distributed Transaction Coordinator服务被其他软件莫名关闭。 大概原因如下: using (var ts = new Transac
阅读全文
摘要:以前在项目中,经常会遇到从数据库中读取数据,然后通过相同的key去组装Dictionary<key,List<objetct>>这种数据库结构的对象。 最开始的处理方法,一直都是定义一个临时对象,然后把数据库中的对象与之相比较,是同一个key就添加到list对象中,如果不是,就重新构建一个list,
阅读全文
摘要:在项目中经常会用到这种情况:前台通过easyui自定义页表格展示,然后再通过excel导出到本地。 项目中用的最多的就是多级表头的情况,在这里markI一下。 1、自定义列对象 2.通过从数据库中得到的DataTable数据生成对应的List<List<EasyUIDataColumn>>对象 3.
阅读全文
摘要:由于最近在项目中要增加一个虚线的框,要用来签名。但是发现网上很少有这一部分的帖子,最后翻来翻去全是java的,干脆自己写一个mark一下。 现有项目中,我们采用itext技术生成pdf。但是itext没有直接设置pdfcell边框的属性,只能通过CellEvent属性来进行设置。 首先,需要创建一个
阅读全文
摘要:一、Dictionary<TKey, TValue> 1、泛型类提供了从一组键到一组值的映射。通过键来检索值的速度是非常快的,这是因为 Dictionary<TKey,TValue> 类是作为一个哈希表来实现的。检索速度取决于为 TKey 指定的类型的哈希算法的质量。 2、TValue可以是值类型,
阅读全文
摘要:当ASP.NET MVC程序出现了异常,怎么处理更加规范? 1. 最简单的方法是设置<customErrors/>节点 <customErrors>节点用于定义一些自定义错误信息的信息。此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表
阅读全文
摘要:今天实现自定义AuthorizeAttribute却遇到了AllowAnonymous属性失效的问题,即使我在控制器、方法上声明AllowAnonymous也依然无法匿名访问,全都需要登陆后才可访问。 按理说声明了AllowAnonymous的控制器或者方法就无需进行身份验证了,这是为什么呢???一
阅读全文
摘要:WINDOWS一个文件下到底最多能放多少个文件 fat32当然是有限制,NTFS就不得而知了 FAT 4GB Max File Size 4GB Max Volume Size 512 Files Per Folder FAT32 4GB Max File Size 2TB Max Volume S
阅读全文
摘要:假如要定义一些整个项目通用的静态变量,这些值都是从config文件中定义的,在转换成静态变量时,最好写成属性,因为可以在属性中对所配置的值进行判断和类型转化,这样可以避免在每次调用静态变量时,都要进行判断和转换了。 虽然对属性的功能都很熟悉了,但是在真正用到的时候还是没有想到,在这里mark一下!!
阅读全文
摘要:今天在测试导入数据的时候,突然发现本应该是枚举内容的数据,导入了进了一个很大的不在枚举定义内的数字。 记得当时用的是 Enum.TryParse 方法对导入的文本进行校验的,于是调试了一下,发现果然是它的问题… 其实关于这个功能,MSDN 的文档中是有写的:https://msdn.microsof
阅读全文
摘要:当采用datagrid自带的方法加载列表时,当在后台遇到错误时,不能通过 jsonResult.Data = new ExceuteResult(ExceuteResultType.Error, "参数错误!"); 来返回错误, 因为datagrid有默认的返回格式,需要改成下面的对应格式,必须有t
阅读全文
摘要:public ActionResult DetailsFAQ(string projectCode) { Document document = new Document(); if (projectCode._IsNullOrEmpty()) { throw new Exception("参数异常
阅读全文
摘要:C#,往线程里传参数的方法总结 C#,往线程里传参数的方法总结 Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 Thread (ThreadStart) 初始化 Thread 类的新实例。 由 .NET
阅读全文
摘要:单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如: private void btnSet_Click(object sender, EventArgs e)
阅读全文
摘要:今天写代码的时候用到ImportRow()向DataTable中添加记录,代码如下: DataTable dt = datatable;DataRow dr = dt.NewRow();dr["FileName"] = fileName;dr["DbName"] = DbName;dt.Import
阅读全文
摘要://将int类型的字段改为string类型 DataTable dtResult = new DataTable(); dtResult = dt.Clone(); foreach (DataColumn col in dtResult.Columns) { col.DataType = typeo
阅读全文
摘要://下载action public void GetFile(string guid) { if (string.IsNullOrEmpty(guid)) { Response.Write("<script>alert('参数错误');</script>"); } //获取下载文件路径 string
阅读全文
摘要:using (FileStream fs = new FileStream(tempPdfFilePath, FileMode.Create)) { Document document = new Document(PageSize.A4, 10, 10, 10, 10); PdfWriter wr
阅读全文
摘要:/// <summary> /// 将DataTable数据导出到Excel文件中(xlsx) /// </summary> /// <param name="dt"></param> /// <param name="file"></param> public static void Export
阅读全文