Json.Net6.0
摘要:Json.Net6.0入门学习试水篇前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是 JavaScript 很容易解释它,而且 JSON 可以表示比"名称 / 值对"更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。 它所具有的特性: 1、Flexible JSON serial
阅读全文
using和yield return
摘要:C#中的using和yield return混合使用 最近写代码为了为了省事儿用了几个yield return,因为我不想New一个List或者T[]对象再往里放元素,就直接返回IEnumerable了。我的代码里还有很多需要Dispose的对象,所以又用了几个using。写着写着我有点心虚了——这样混合使用靠谱吗? 今天我花时间研究一下,并在这里作个笔记,跟大家分享。笔者水平有限,有哪些理解错误或做的不到位的地方,还请各位专家点拨。 这是我写的方法,循环外面一个using,整个方法里代码执行后释放一个对象。循环里面又一个using, 每次循环yield return后要释放一个对象。那是不.
阅读全文
ExpandoObject,DynamicObject,DynamicMetaObject
摘要:ExpandoObject,DynamicObject,DynamicMetaObject接上文:浅谈Dynamic关键字系列之三(上)为什么TryXXX方法没有被调用??将DynamicProduct 中的name修饰符改为private:private string name;可以在TrySetMember方法中设置断点,再次运行:为什么访问修饰符是Public不调用TrySetMember,是Private 就调用了呢??难道是因为private抛出了异常吗??再次看看Msdn对此的TrySetMember方法的解释:Msdn备注…………….动态语言运行库(DLR)将首先使用语言联编程序
阅读全文
Net 4.0 之 Dynamic 动态类型
摘要:Net 4.0 之 Dynamic 动态类型 本文主要旨在与网友分享.Net4.0的Dynamic 对Duck Type 的支持。 一、.net4.0主要新特性 .Net4.0在.Net3.5基础上新增的主要特性有:可选参数、命名参数和Dynamic。具体请阅生鱼片的这篇博文。这里我们着重讲解C#4.0的Dynamic特性,对于其他特性大家可以在VS2010内尝试一下。总之.Net在不断进步中。 二、ExpandoObject普通应用 ExpandoObject 类,“需引用System.Dynamic命名空间” 。请看以下代码: 1dynamic Customer =new ExpandoO
阅读全文
动态数组、循环遍历、对象集合初始化
摘要:编写高质量代码改善C#程序的157个建议[动态数组、循环遍历、对象集合初始化]前言 软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点。如何使用好集合是我们在开发过程中必须掌握的技巧。不要小看这些技巧,一旦在开发中使用了错误的集合或针对集合的方法,应用程序将会背离你的预想而运行。 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html。本文主要学习记录以下内容: 建议16、元素数量可变的情况下不应使用数组 建议17、在多数情况下使用foreach进行循环遍历 建议18、fo...
阅读全文
C#自带组件
摘要:C#自带组件在项目正式上线后,如果出现错误,异常,崩溃等情况我们往往第一想到的事就是查看日志所以日志对于一个系统的维护是非常重要的贯穿所有的日志系统日志系统,往往是贯穿一个程序的所有代码的;试想一下,如果你的日志完全是由第三方组件提供的;那么就意味着,你的所有项目都必须引用这个dll;也许你会说自己可以2次封装,那么依然需要所有项目都引用你的这个封装后的log项目另一方面一些log组件需要实例化后才可以使用,比如log4net,这又意味着你得有一个全局的静态变量,或者你自己二次封装但其实微软已经为我们提供了2个十分方便的静态类,用于日志的记录System.Diagnostics.Trace和S
阅读全文
我(webabcd)的文章索引
摘要:我(webabcd)的文章索引更新:2014.01.22]重新想象 Windows 8 Store Apps 系列文章重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBlock, RichTextBlockOverflow重新想象 Windows 8 Store Apps (2) - 控件之按钮控件: Button, HyperlinkButton, RepeatButton, ToggleButton, RadioButton, CheckBox, T
阅读全文
性能优化
摘要:性能优化隔了很久没写东西了,主要是最近比较忙,更主要的是最近比较懒......其实这篇很早就想写了工作和生活中经常可以看到一些程序猿,写代码的时候只关注代码的逻辑性,而不考虑运行效率其实这对大多数程序猿来说都是没有问题的不过作为一只有理想的CodeMonkey,我还是希望给大家分享一些性能优化心得曾经在网上听过这样一句话程序的可读性和性能是成反比的我非常赞同这句话,所以对于那些极度影响阅读的性能优化我就不在这里赘述了今天主要说的就是一些举手之劳即可完成的性能优化减少重复代码这是最基本的优化方案,尽可能减少那些重复做的事,让他们只做一次比较常见是这种代码,同样的Math.Cos(angle) 和
阅读全文
C#继承关系中【方发表】的创建和调用
摘要:—C#继承关系中【方发表】的创建和调用Insus.NET实现一个最炫最原创的验证码。你可以从下面的一步一步的演译。实现一个验证码,需要了解的是,它最基本是随机产生字符串:《在ASP.NET MVC应用程序中随机获取一个字符串》http://www.cnblogs.com/insus/p/3619224.html随机的字符串准备好,由于是在MVC应用程序实现,还得了解显示图片:《MVC显示Base64图片》http://www.cnblogs.com/insus/p/3621199.html开始尝试实现《ASP.NET MVC验证码演示》http://www.cnblogs.com/insus/
阅读全文
C#多线程(一)
摘要:C#多线程(一)一、定义与理解1、定义线程是操作系统分配CPU时间片的基本单位,每个运行的引用程序为一个进程,这个进程可以包含一个或多个线程。线程是进程中的执行流程,每个线程可以得到一小段程序的执行时间,在单核处理器中,由于切换线程速度很快因此感觉像是线程同时允许,其实任意时刻都只有一个线程运行,但是在多核处理器中,可以实现混合时间片和真实的并发执行。但是由于操作系统自己的服务或者其他应用程序执行,也不能保证一个进程中的多个线程同时运行。线程被一个CLR委托给操作系统的进程协调函数管理,确保所有线程都可以被分配适当的执行时间,同时保证在等待或阻止的线程不占用执行时间。2、理解线程与进程的关键区
阅读全文
WebService支持多平台上传文件的实现
摘要:WebService支持多平台上传文件的实现要使用网站上传文件,在ASP.NET的范畴,我基本上能想到的有两类,一类是通过HTTP POST请求获得文件信息,另外一类是通过WebService或者WCF之类的技术对外发布服务。以前做3G摄像头项目的时候,做过使用HTTP POST的方式获得照片,方式很简单,就是一个aspx文件(其实用asp也行,最开始是用asp实现的,用aspx的时候还出了点幺蛾子),只是客户端(摄像头)那边需要了解POST请求,将图片做成数据传输上来。这个方式也没什么不好的,就是无奈在集成到系统中的时候总是出点问题,想着反正还要做多种客户端,于是乎改成第二类方式。需求是要能
阅读全文
二元查找树转变成排序的双向链表之C#算法实现
摘要:二元查找树转变成排序的双向链表之C#算法实现此题为July在CSDN发布的微软编程面试100题中的第一题,觉得蛮有趣的,今天也拿过来玩玩,July的代码用的是C++实现,可能因为有指针的原因吧,感觉看起来相对比较容易理解整个的实现过程,而我,试着用C#完成这样的功能。完整的题目如下:把二元查找树转变成排序的双向链表,要求不能创建任何新的结点,只调整指针的指向。 10 / \6 14/ \ / \4 8 12 16转换成双链表 4=6=8=10=12=14=16动手编码之前,先回顾下二叉查找树的特点:任意节点的左子树都要小于当前节点,右子树都要大于当前节点。查询某个值,需要的时间复杂...
阅读全文
Asp.Net Identity 2.0 认证
摘要:转Asp.Net Identity 2.0 认证一个星期前,也就是3月20日,微软发布了Asp.Net Identity 2.0 RTM。功能更加强大,也更加稳定。Identity这个东西现在版本还比较低,每次发布新版本都会有较多改动。 2.0新增了很多功能,比如“双重认证(TFA)" --就是类似密保登陆的功能”账号锁定”--可以设置账号在短时间内登陆失败达到一定次数则在几分钟内被禁止登陆“账号认证”--即现在普遍的登陆模式,用户名即邮箱,注册后需要认证才可以登陆“密码找回”--这个常用功能以前一直未被集成到Identity中“单点登出(SSO)”--也就是同时打开了几个页面,在任
阅读全文
C#开发微信公众平台
摘要:C#开发微信公众平台-就这么简单(附Demo)写在前面服务号和订阅号URL配置创建菜单查询、删除菜单接受消息发送消息(图文、菜单事件响应)示例Demo下载后记 最近公司在做微信开发,其实就是接口开发,网上找了很多资料,当然园友也写了很多教程,但都是理论说了一大堆,实用指导或代码很少。如果你自己仔细研究下,其实就那么点东西,C#实现起来也很简单,原本不想写这篇文章的,但是本人当时摸索走了很多弯路,这边总结下,希望初次接触微信公众平台的朋友别像当时的我一样。 自己动手,丰衣足食。服务号和订阅号 服务号是公司申请的微信公共账号,订阅号是个人申请的,我个人也申请了一个,不过没怎么用。 服务号1...
阅读全文
C#程序的157个建议
摘要:编写高质量代码改善C#程序的157个建议——导航开篇前言 由于最近工作重心的转移,原来和几个同事一起开发的项目也已经上线了,而新项目就是在现有的项目基础上进行优化延伸扩展。打个比方,现在已经上线的项目行政案件的Web管理网站(代码还没那么多相比较即将要做的刑事案件吧),而新项目是刑事案件的Web管理网站,之后行政和刑事这两个网站是要合并的。前段时间也和同事以及上司的讨论结果就是新建一套项目,考虑将原有系统各种组件进行重新封装、优化、提升扩展,然后先开发刑事案件的网站,待刑事案件开发完毕将原有项目按照刑事案件的思路重新整合。 最近刚开始进行查看老代码也发现太多的问题,感觉无从下手,有些东西当..
阅读全文
C#操作JSON
摘要:C#操作JSONC#操作JSONC#操作JSON1. .NET对JSON的支持介绍....................................................... 1(1)操作Json的DLL介绍..................................................... 1(2)使用System.Web.Extensions.dll的限制............... 12. JSON序列化和反序列化.......................................................... 1(1)使用Ne
阅读全文
C#正则表达式
摘要:转C#正则表达式引发的CPU跑高问题以及解决方法3月23日(周日)下午16:30左右,博客园主站负载均衡中的2台Web服务器CPU玩起了爬楼梯的游戏(见上图),一直爬到了接近100%。发现这个状况后,我们立即将这2台阿里云临时磁盘云服务器从负载均衡中摘下来,挂上1台云盘云服务器,恢复了正常。由于曾经多次遇到过阿里云云服务器CPU问题,现在对阿里云云服务器产生了一种偏见,只要出现CPU问题,就会首先怀疑云服务器的问题。而这次出现问题时,换上云盘云服务器立即恢复正常,我们就坚定地认为临时磁盘云服务器存在某种问题。于是,我们提交了工单,向阿里云客服抱怨这个问题。。。。接着突然发生的状况让我们的“坚定
阅读全文
性能优化
摘要:C#中那些[举手之劳]的性能优化隔了很久没写东西了,主要是最近比较忙,更主要的是最近比较懒......其实这篇很早就像写了工作和生活中经常可以看到一些程序猿,写代码的时候只关注代码的逻辑性,而不考虑运行效率其实这对大多数程序猿来说都是没有问题的不过作为一只有理想的CodeMonkey,我还是希望给大家分享一些性能优化心得曾经在网上听过这样一句话程序的可读性和性能是成反比的我非常赞同这句话,所以对于那些极度影响阅读的性能优化我就不在这里赘述了今天主要说的就是一些举手之劳即可完成的性能优化减少重复代码这是最基本的优化方案,尽可能减少那些重复做的事,让他们只做一次比较常见是这种代码,同样的Math.
阅读全文
c#写windows服务
摘要:c#写windows服务序言前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目。有不便之处,就改用Windows服务实现。这篇就总结下,windows服务的编写,调试,安装卸载。Windows服务介绍Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可
阅读全文
MSDN官方XmlSerializer类导致内存泄漏和性能低
摘要:MSDN官方XmlSerializer类使用说明链接:http://msdn.microsoft.com/zh-CN/library/system.xml.serialization.xmlserializer(v=VS.100).aspx动态生成的程序集为了提高性能,XML 序列化基础结构动态生成程序集,以便对指定类型进行序列化和反序列化。该基础结构将找到并重新使用这些程序集。仅当使用以下构造函数时,才会发生此行为:XmlSerializer.XmlSerializer(Type)XmlSerializer.XmlSerializer(Type, String)如果使用任何其他构造函数,则将
阅读全文