随笔分类 - C# 揭密

摘要: 概述 在之前写的一篇关于async和await的前世今生的文章之后,大家似乎在async和await提高网站处理能力方面还有一些疑问,博客园本身也做了不少的尝试。今天我们再来回答一下这个问题,同时我们会做一个async和await在WinForm中的尝试,并且对比在4.5之前的异步编程模式APM/...阅读全文
posted @ 2014-07-15 08:42 腾飞(Jesse) 阅读(33461) | 评论 (160) 编辑
摘要: 在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章。本文会涉及到Claims-based(基于声明)的认证,我们会详细介绍什么是Claims-based认证,它与传统认证方式的区别,以及它的特点。同时我们还会介绍OWI...阅读全文
posted @ 2014-04-01 08:27 腾飞(Jesse) 阅读(66505) | 评论 (115) 编辑
摘要: 我们前面已经讨论过了如何在一个网站中集成最基本的Membership功能,然后深入学习了Membership的架构设计。正所谓从实践从来,到实践从去,在我们把Membership的结构吃透之后,我们要完善它,改造它,这样我们才能真正学以致用。今天我们将以用户信息为主线,从SqlMembershipProvider出发,到ASP.NET Simple Membership最后再到MV5中引入的ASP.NET Identity,来看看微软是如何一步一步的改造这套框架的。Membership三步曲之入门篇- Membership 基础示例Membership三步曲之进阶篇-深入剖析Provider 阅读全文
posted @ 2014-03-19 08:28 腾飞(Jesse) 阅读(37678) | 评论 (69) 编辑
摘要: async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了。但是这也给我们编程埋下了一些隐患,有时候可能会产生一些我们自己都不知道怎么产生的Bug,特别是如果连线程基础没有理解的情况下,更不知道如何去处理了。那今天我们就来好好看看这两兄弟和他们的叔叔(Task)爷爷(Thread)们到底有什么区别和特点,本文将会对Thread 到 Task 再到 .NET 4.5的 async和 await,这三种方式下的并行编程作一个概括性的介绍包括:开启线程,线程结果返回,线程中止,线程中的异常处阅读全文
posted @ 2014-02-24 08:24 腾飞(Jesse) 阅读(66598) | 评论 (165) 编辑
摘要: Membership 三步曲之进阶篇 -深入剖析Provider Model 本文的目标是让每一个人都知道Provider Model 是什么,并且能灵活的在自己的项目中使用它。Membership三步曲之入门篇- Membership 基础示例Membership三步曲之进阶篇-深入剖析Pr...阅读全文
posted @ 2014-02-17 08:54 腾飞(Jesse) 阅读(11018) | 评论 (20) 编辑
摘要: 一个多月之后,由浅入深表达式系列的最后一篇终于要问世了。想对所有关注的朋友说声:“对不起,我来晚了!” 希望最后一篇的内容对得起这一个月时间的等待。在学习完表达式树的创建和遍历之后,我们要利用它的特性来写一个我们自己的Linq Provider。人家都有Linq to Amazon为什么我们不能有Linq to cnblogs呢?今天我们就来一步一步的打造自己的Linq Provider,文章未尾已附上源码下载地址。如果对于表达式树的创建和遍历还是熟悉的话,建议先看前面两篇: 创建表达式树 http://www.cnblogs.com/jesse2013/p/expressiontre...阅读全文
posted @ 2014-01-13 08:52 腾飞(Jesse) 阅读(13044) | 评论 (46) 编辑
摘要: 为什么要学习表达式树?表达式树是将我们原来可以直接由代码编写的逻辑以表达式的方式存储在树状的结构里,从而可以在运行时去解析这个树,然后执行,实现动态的编辑和执行代码。LINQ to SQL就是通过把表达式树翻译成SQL来实现的,所以了解表达树有助于我们更好的理解 LINQ to SQL,同时如果你有兴趣,可以用它创造出很多有意思的东西来。 表达式树是随着.NET 3.5推出的,所以现在也不算什么新技术了。但是不知道多少人是对它理解的很透彻, 在上一篇Lambda表达式的回复中就看的出大家对Lambda表达式和表达式树还是比较感兴趣的,那我们就来好好的看一看这个造就了LINQ to SQL...阅读全文
posted @ 2013-12-05 08:44 腾飞(Jesse) 阅读(12903) | 评论 (33) 编辑
摘要: 为什么要学习表达式树?表达式树是将我们原来可以直接由代码编写的逻辑以表达式的方式存储在树状的结构里,从而可以在运行时去解析这个树,然后执行,实现动态的编辑和执行代码。LINQ to SQL就是通过把表达式树翻译成SQL来实现的,所以了解表达树有助于我们更好的理解 LINQ to SQL,同时如果你有兴趣,可以用它创造出很多有意思的东西来。 表达式树是随着.NET 3.5推出的,所以现在也不算什么新技术了。但是不知道多少人是对它理解的很透彻, 在上一篇Lambda表达式的回复中就看的出大家对Lambda表达式和表达式树还是比较感兴趣的,那我们就来好好的看一看这个造就了LINQ to SQL...阅读全文
posted @ 2013-11-25 09:18 腾飞(Jesse) 阅读(26866) | 评论 (42) 编辑
摘要: 快乐的Lambda表达式 上一篇背后的故事之 - 快乐的Lambda表达式(一)我们由浅入深的分析了一下Lambda表达式。知道了它和委托以及普通方法的区别,并且通过测试对比他们之间的性能,然后我们通过IL代码深入了解了Lambda表达式,以及介绍了如何在.NET中用Lambda表达式来实现JavaScript中流行的一些模式。 今天,我们接着来看Lambda表达式在.NET中还有哪些新鲜的玩法。Lambda表达式玩转多态 Lambda如何实现多态?我们用抽象类和虚方法了,为什么还要用Lambda这个玩意?且看下面的代码:class MyBaseClass{ public Acti...阅读全文
posted @ 2013-11-19 09:08 腾飞(Jesse) 阅读(7068) | 评论 (15) 编辑
摘要: 快乐的Lambda表达式(二) 自从Lambda随.NET Framework3.5出现在.NET开发者眼前以来,它已经给我们带来了太多的欣喜。它优雅,对开发者更友好,能提高开发效率,天啊!它还有可能降低发生一些潜在错误的可能。LINQ包括ASP.NET MVC中的很多功能都是用Lambda实现的。我只能说自从用了Lambda,我腰也不酸了,腿也不疼了,手指也不抽筋了,就连写代码bug都少了。小伙伴们,你们今天用Lambda了么?但是你真的了解它么?今天我们就来好好的认识一下吧。 本文会介绍到一些Lambda的基础知识,然后会有一个小小的性能测试对比Lambda表达式和普通方法的性能,接着..阅读全文
posted @ 2013-11-18 08:41 腾飞(Jesse) 阅读(17978) | 评论 (66) 编辑
摘要: C#集体类型( Collections in C#) 集合是.NET FCL(Framework Class Library)中很重要的一部分,也是我们开发当中最常用到的功能之一,几乎是无处不在。俗话说知其然,知其所以然,平常看到IEnumerable,IEnumerator,ICollection是不是知道他们之间各自的区别?除了List和Dictionary以外,你还用过哪些其它的集合类?废话少说,今天我们就来看一些这些定义集合类的接口以及他们的实现。集合接口关联性泛型集合类非关联性泛型集合类推荐使用场景非泛型集合类线程安全集合类集合接口 先来看一下,FCL为我们提供了哪些接口: I...阅读全文
posted @ 2013-11-05 08:32 腾飞(Jesse) 阅读(32813) | 评论 (27) 编辑