随笔分类 - .Net 4
.NET平台BigO算法复杂度备忘
摘要:之前一篇文章提到BIG O算法复杂度的备忘录, 今天这个是.NET 平台下集合类相关的Big O 算法复杂度 今天先到这儿,希望对您有参考作用, 您可能感兴趣的文章: 数据结构与算法 Big O 备忘录与现实 IT基础架构规划方案一(网络系统规划) 餐饮行业解决方案之客户分析流程 餐饮行业解决方案之采购战略制定与实施流程 餐饮行业解决方...
阅读全文
微软Microsoft开源历程与相关资源
摘要:2001 Open source is bad for business, says Microsoft Linux is a cancer 2005 Enterprise Library 1.0 released! 2006 AJAX ControlToolkitreleased 2007 Microsoft ...
阅读全文
Asp.net SignalR 实现服务端消息推送到Web端
摘要:之前的文章介绍过Asp.net SignalR, ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信. 今天我们来实现服务端消息推送到Web端, 首先回顾一下它抽象层次图是这样的: 实际上 Asp.net SignalR 2 实现 服务端消息推送到Web端, 更加简单. 为了获取更好的可伸缩性...
阅读全文
.Net开发人员有趣的Podcast
摘要:如果你是一个.Net开发人员,那么一定不要错过这些Podcasts,它们可是即可以了解IT业态,又可以锻炼英文听力。有采访很多开源人员,涉及项目等等。先尽力听他们说什么,然后再看Transcript,如果有的话。当然你可以上下班的路上听,用耳机听的话时间不要太长。下面是: The Hanselminutes podca...
阅读全文
一周开发新闻
摘要:Windows Azure Service Bus 支持 AMQP 微软和其它公司一直参加Advanced Message Queuing Protocol (AMQP)的标准. Windows Azure即将支持AMQP. 了解更多查看这儿. WebMetrix 3 大多数开发人员可能知道WebMartix是构建...
阅读全文
基于Enterprise Library 6 的AOP实现
摘要:最近 Enterprise Library 6 正式版发布了,距离上了版本又有一段时间.首先我们来看下面这张模块图,实线表示强依赖,虚线表示弱依赖(或可选的). 6.0版本全面支持.net Framework 4.5. 相对于前面5.0版本,移除了下面的模块: The Caching Application Block The Cryptography ...
阅读全文
Async下处理多个异常
摘要:Task Parallel Library (TPL) 中,当你使用async/await语法关键字时,你可能遇到以下异常处理的情况: Catch 块只会处理第一个异常而忽略其它的异常。来看下面代码块: 1: private static async void TestCatchExceptionWithTPL() 2: ...
阅读全文
Managed Extensibility Framework(MEF) 2 框架新特性介绍
摘要:Managed Extensibility Framework (MEF) 是.NET的一个组合框架,用于增强复杂应用的模块化和可扩展性。从.net framework 4.0 开始集成的组件。到目前为止,MEF的历史上最重要的应用程序是Visual Studio 2010。许多特性都是为了满足Visual Studio里的编辑器的需求,比如说,延迟加载所有东西和细粒度协定。MEF的工...
阅读全文
Asp.net MVC 4 异步方法
摘要:前面一篇文章我们介绍了Asp.net MVC 3下异步操作。今天我们来看一下,同样功能在 Asp.net MVC 4 下的实现,基于.net framework 4.5 下的async支持,让我们的代码更加简单,看下面片断代码名叫Index的Action方法: public async Task<ActionResult> IndexAsync() ...
阅读全文
用SquishIt最小化Css与Javascript文件
摘要:SquishIt 是一个轻易压缩与合并CSS与JavaScript文件的组件。同时它还使用dotless处理css. 它依赖组件是: Dependencies Id Version Range YUICompressor.NET (≥ 1.7.0.0) dotless (≥ 1.2.2.0) AjaxMin (≥ 4.46.4422.26284...
阅读全文
Lazy<T>的应用之类内部字段与C#延迟加载
摘要:延迟加载主要应用在以下场景: 数据层 – ADO.NET或Entity Framework等ORM反射 – 加载assemblies, types, MEF 缓存对象,领域实体 下面以领域实体为例, 在实体中我们经常检查某个属性下字段是否为空引用. 如果是空的话,计算或填充这个字段. 像这样: 1: /// <summary> 2: /// Order 3:...
阅读全文
Asp.net Web Applicatoin实现自定义HttpModule拦截异常处理
摘要:Asp.net的NamePipe机制给我们提供了很多扩展性. 使用HttpModule我们可能实现的有: 强制站点范围的Cookie策略 集中化监控与日志 编写设置与删除HTTP头 控制response输出,如删除多余空白字符 Session管理 认证与受权 下面我们来看如何实现自定义异常处理: 1: public class ErrorModule:IHttpModule 2...
阅读全文
Asp.net使用HttpModule压缩并删除空白Html请求
摘要:当我们压缩我的Response后再传到Client端时,可以明显节省宽带. 提升Site的性能. 现在的浏览器大部分都支持Gzip,Deflate压缩. 同时我们还可以删除一些空白段,空行,注释等以使得HTML文档的尺寸变得更小. 让我们先来实现压缩与删除空白类, 继承自Stream类: 1: /// <summary> 2: /// CompressWhitesp...
阅读全文
Asp.net使用HttpHandler优化Css样式文件
摘要:HttpHandler在Asp.net中核心对像之一,我们可以实现IHttpHandler接口来优化Css样式文件. 用一个我们自定义的HttpHandler映射.css的文件.首先我们最小化Css样式文件尺寸, 然后我们再处理后CSS文件做内存缓存. 缓存依赖物理文件,当文件被修改后,重新加载. 这里我们以Demo为目的,默认缓存时间2小时. 让我们先来看一下类图是这样的: 我们定义一个I...
阅读全文
用.net4中的DynamicObject实现简单AOP
摘要:在.net framework 4中有一个DynamicObject 类型,我们通过重写 TryInvokeMember 方法实现简单的AOP。首先看类图: 看下面的代码: public class DynamicWrapper : DynamicObject { private readonly object source; public DynamicWrapper(object sourc...
阅读全文