随笔分类 - C#开发
摘要:一:场景描述 在一个文件下查找js文件中指定的关键字,并记录完成查找所需时间。完成此任务使用了3种写法,分别为: 1.使用一个task,在任务中进行for循环,循环调用异步处理方法。2.先查找出文件路径,然后对每一个文件路径创建一个task,然后让这N个task并行处理。3.也只利用一个task,在
阅读全文
摘要:场景: 分析数据库的表结构,并将表结构导出到word中。 方案1.直接用UI线程做,由于会造成UI卡顿,忽略。 方案2.用task: Task ts = Task.Run(() => { for (int i = 0; i < listTables.Count; i++) { string name
阅读全文
摘要:由于历史原因,一个webform页面写得比较乱,其中有一个表格是标题行是双行的,第二行需要根据表格内容动态显示不同的标题,问题在于,如果表格内容空的情况下,第二行的标题单元格是空的,造成整个标题(两行)中某些单元格没有下边线(其实是第二行td缺失造成的),怎么解决? 解决的办法很多: 1.用js判断
阅读全文
摘要:public class LogHelper { private static string AppPath = System.IO.Directory.GetCurrentDirectory();private static string IsErrorLog = ConfigurationMan
阅读全文
摘要:作用: 将SQL Server Profiler生成的exec...形式的语句转换为原生版Sql语句,方便分析、格式化语句。实现代码如下: private string getOriginalSql(string inputString) { string[] spChart = { "@p0="
阅读全文
摘要:IOC的含义在百度百科中这样解释: 是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系
阅读全文
摘要:假如项目在前期没有过滤客户提交的字符,那么可以在输出的时候,对输出的字符进行过滤,防止出现XSS跨域攻击。 原理简单:利用ASP.NET API的管道原理,在MessageHandlers中添加一个自定义的处理环节。 好了,源代码如下: 其中,OutgoingMessageAsync方法中,利用了微
阅读全文
摘要:所需组件: microsoft ado ext. 2.8 for ddl and security 或者更新的组件。 添加: using ADOX;using System.Runtime.InteropServices;using System.IO; 然后利用OleDbCommand组件,设置其
阅读全文
摘要:网上到处都是利用ADOX组件创建mdb数据库及表的例子。一般代码如下: 前期: 引用Interop.ADODB.dll及Interop.ADOX.dll 然后:using ADOX; 核心代码: 但是,这样写的话,有一个很大的问题,那就是无法释放com组件对文件的访问。即,如果这样写,完成后,MDB
阅读全文
摘要:应用场景:检查几个表的特定字段是否为空,字段是否为空是在数据库中进行配置的。前台根据数据中字段的设置,进行动态检查。 原始人版: 这样的代码确实让人纠结。的确,开发者可以几乎不用动脑子,以比较快速度编码(完成一段后,复制、粘贴即可搞定),完成任务。这种编码有一定的灵活性,具体来说就是检查的字段设置(
阅读全文
摘要:1.写法有2种:yield return <expression>和yield breakyield用于在迭代中返回一个值,并将值带入下一次迭代中。yield break则意味着停止迭代。纯粹的文字描述,一千个人有一千个说法,还是用代码更容易说清楚。2.官方示例(略带修改): 运行示例,发现powe
阅读全文
摘要:本文不打算抄袭官方或者引用他人对Couchbase的各种描述,仅仅是自己对它的一点理解(错误之处,敬请指出),并附上一个入门示例。 ASP.NET Web项目(其他web开发平台也一样)应用规模小的时候,可以利用.net framework自带的缓存机制进行缓存,可是,当项目应用规模大了后,再这样万
阅读全文
摘要:客户提出能否将导入模板中,课程一列添加下拉框方便选择,不用手输入,以减少输入错误的可能性。于是在网上找了点代码,稍加整理后,形成了以下方案,代码部分:一:生成课程列表,并放置在excel的单独sheet中。IList list = StudentBus.GetSubjectInterface().G...
阅读全文
摘要:使用MVC controller输出excel的例子,自不待言,例子满天飞。 由于本项目使用的是Asp.net MVC API,因此在本项目使用API,实现了文件下载功能。代码的原理很简单,基本上是老外的代码。只是修改了一部分,以使其代码能正常工作(原代码输出的excel是空的)。以下是核心代码:
阅读全文
摘要:下面描述了一个Quartz.net最常用的应用场景,按特定秒数触发执行特定任务。 1.任务要继承自:IJob,在Execute方法中填入自己需要执行的任务。 核心代码: 附上全部代码:下载
阅读全文
摘要:winform模式下的用户自定义控件功能强大,可以根据业务的需要进行灵活的封装。可是有个很常见的问题摆在面前:怎么在点击子控件时,触发父控件,比如flowLayoutPanel的一个事件呢? 原来也模糊地记得似乎哪位大侠用委托实现过,如今,根据自己的琢磨,也实现了,算是重新温习了一遍吧。 首先,在父
阅读全文
摘要:编写完成的代码,由于编写上的某种原因,有时候会出现运行速度慢的现象。那么怎么才能提高代码的运行效率呢?不同的人有不同的代码优化方式,一般开发者将代码中的低下写法改正后,代码就能满足性能需要,而高级的开发者,则会在更高层次上对代码、代码结构进行重构。总之,方式林林总总,下面就是自己在一次代码优化过程后,总结的各种优化策略。1.首先,将代码中的各种低下写法统统改正。什么是低下写法?比如,频繁的装箱、拆箱,频繁的字符串+-等等。2.重点改进程序的循环质量。代码中经常出现各种循环,而循环是造成代码运行效率低下的最重要原因(之一)。从而改进循环代码,提升循环效率就成了改进代码质量、提升代码运行效率的关键
阅读全文
摘要:最近,在做一个网页时,IE7-9没有问题。可是页面在IE6下却不加载Css样式内容,明明是已经添加好了的样式,为什么IE6不加载呢?查来查去,发现了这个有趣的原因,IE6下对/**/形式的注释是有所要求的,如果注释是汉字,不能这样写:/*这是注释*/如果这样写,注释下面的一条CSS内容无法被IE6加载并解析。而必须修改为/*--这是注释--*/这样才可以,而用英语写注释/*This is the commnets*/没有问题。唉,IE6的问题,层出不穷啊。也该淘汰了。
阅读全文