2 条评论 | 494 views

在《轻量级AOP框架-移植python的装饰器(Decorator)到C#(思考篇)》中,文章分析了Python中Decorator的原理以及C#移植的可行性,在本篇中,文章将继续探讨如何将这个想法实实在在的表现出来,因此本篇的目标是:一个初级但是可用的Decorator实现。 如果您对本文的基本思路存在疑惑,请先阅读思考篇。  

查看更多...

0 条评论 | 555 views

今天我们展示的是Python中一个很有用特性:“Decorator”,中文可以译作“装饰器”,它是一个对函数的封装,它可以让你不改变函数本身的情况下对函数的执行进行干预,比如在执行前进行权限认证,日志记录,甚至修改传入参数,或者在执行后对返回结果进行预处理,甚至可以截断函数的执行等等,没错,本质上来说,它就是我们常说的面向方面编程(Aspect-Oriented Programming),简称AOP,本文将尝试将这一特性移植到c#平台. 

查看更多...

0 条评论 | 671 views

今日, Will Meng发布了一篇名为《再谈Activator.CreateInstance(Type type)方法创建对象和Expression Tree创建对象性能的比较》的博文,文中通过一系列的对比测试,得到了一个结论:” 结果方法Activator.CreateInstance()比表达式树要快了。”,但是在我个人的使用中,感觉并非如此,因此特别进行了测试.

查看更多...

0 条评论 | 721 views

    前几天maple提出目前的levenblog无法运行在x64的系统上,由于当时自己没有64位的系统,因此也没有办法测试,后来朋友风信子装了64位的操作系统,因此特别帮忙给我编译了一个64bit的sqlite3.dll,然而当时时间和条件有限,也没有对其进行测试.今天个人的小站又一次搬家,新的服务器环境为Win2008R2 X64,因此,有了条件,赶紧将编译的dll测试测试,因为在levenblog2.0.9.1开始,程序使用了不包含本地代码的System.Data.Sqlite.dll文件,因此可以方便的更换native dll来进行测试.

查看更多...

0 条评论 | 912 views

在C#4.0 b1中,dynamic的出现得到了很多人的关注,该关键字的出现能大幅改进某些情况下的开发效率,但是,通过大家对比测试,该方式同时也会带来很大的性能损失,方法的执行不过是对反射执行的封装,远不如使用Emit或者Expression编译委托来得快.但是在最新的C# 4.0 beta中,dynamic的实现的得到了很大的改变. 

查看更多...

0 条评论 | 1233 views

Entity Framework是.net3.5 sp1中的一个ORM工具,有着使用方便,和Linq结合紧密的优点,但是在实际使用中,它仍然拥有很多缺点,最近在用Entity Framewok做项目的时候感受良多,

今天仅仅记录下EntityFramework在Select上的一些局限

查看更多...

0 条评论 | 1435 views

随着Mono项目的成熟,MonoDevelop这一Mono平台上的首选开发工具也开始了它的跨平台计划,按计划,MonoDevelo在2.2版本将完全实现在*Unix,Windows,Mac系统上运行,同样的,今日,官方也推出了关于Mac和Windows的Preview版本,windows版的下载地址为:http://monodevelop.com/Download/Windows_Preview,它建立在Microsoft .Net Framework3.5的基础上,同时需要Gtk#的支持.目前Monodevelop的windows版还有一些问题,不过这已经让人很振奋了,毕竟,windows上又多了一个免费的完整的.net平台和开发环境.

查看更多...

1 条评论 | 1225 views

在Web开发中,表单提交算是一种很常见的从客户端获取数据的方式了,然而,用户的行为永远都是无法预料的,为此,我们在程序中不得已必须对用户输入的数据进行严格效验,在WebForm时代我们常用的手段是验证控件,但是到了Mvc时代,再使用控件变得困难了,因此我们必须找到新的方式来解决这个问题,本系列使用TDD的方式再现了4MVC团队的Infancy项目中的验证框架的实践过程.   

查看更多...

0 条评论 | 1195 views

在Web开发中,表单提交算是一种很常见的从客户端获取数据的方式了,然而,用户的行为永远都是无法预料的,为此,我们在程序中不得已必须对用户输入的数据进行严格效验,在WebForm时代我们常用的手段是验证控件,但是到了Mvc时代,再使用控件变得困难了,因此我们必须找到新的方式来解决这个问题,本系列使用TDD的方式再现了4MVC团队的Infancy项目中的验证框架的实践过程. 

查看更多...

0 条评论 | 1999 views

在我以前的文章中详细介绍了目前mvc框架中的视图引擎管理,这个视图引擎可以方便的实现系统多视图引擎的管理,让系统可以轻松更好视图引擎,但是,在一些应用,比如bbs,多用户blog中,往往需要提供用户自选skin的功能,比如bbs中某个用户通过菜单可以随意更换自己的skin设置,而mvc框架的默认视图管理器对这个要求就无法做到了,而本文则是使用viewengine规则来实现一个用户自选视图引擎的功能.

查看更多...

0 条评论 | 1595 views

在上篇中介绍了自动绑定的基本用法,在本篇中,我们将深入了解自动绑定的工作原理,自动绑定的确是让人感到兴奋的特性,然而,为了让它可以在我们的项目中更好的工作,我们有必要深入了解如何更进一步细调该特性以及它是如何工作的.而本文正式即将揭开这个谜底,从而了解绑定的工作原理,高级绑定的规则,从而能对绑定进行细调,绑定自定义类型数组,绑定字典数据等.

查看更多...

0 条评论 | 1676 views

我们知道,在Asp.Net Mvc Preview5中加入了全新的ModelBinder特性,虽然这个特性非常的强大,但是使用起来并不是那么的友好,因此,在最新的Asp.Net Mvc Beta中,框架对这部分进行了进一步的加强,使得复杂参数的自动绑定得以实现,本文将分级部分完整探讨整个mvc框架中的modelbinder实现和完全挖掘系统自带的ModelBinder的能力,使得基于mvc框架的web开发脱离页面取值的苦海.

查看更多...

0 条评论 | 1504 views

在上篇中.我们分析了解了ModelBinder的工作原理.而本文将在实例中添加自己的ModelBinder,以便获得我们期望中的效果.本次我们通过一个简单的Demo来对全站的ModelBinder做一个解决方案.

查看更多...

0 条评论 | 1556 views

在前面的两篇文章中,我们研究了Asp.Net Mvc Preview5的ViewEingine的改进,从本篇开始,我们开始研究Preview5中的新特性:ModelBinder,首先我们来了解下什么是ModelBinder特性,这有什么用处,在以前的版本中,如果我们要在Action中获取数据,一般有三种方式,一是通过Action的参数,但是由于某些原因,这儿只能获取到简单类型的参数,比如int,string等,第二种方式是通过Request来获取,但是当数据较多的时候,这个方式实在太费劲了.三是使用BindingHelperExtensions中的扩展方法,但是这种方式还是不能满足我们的要求.我们理想中的方式是... ...

查看更多...

0 条评论 | 1604 views

Asp.Net Mvc终于等来了新版本,这次仍然是Preview版.该版本中加入了不少新特性.特别是在ViewEngine的管理上.得到了很大的改进,不仅让用户可以更方便的更换ViewEngine,而且还可以在一个系统中使用多个ViewEngine的可能得到了实现,本文将演示如何添加一个或者多个ViewEngine并让他们之间可以交互工作.

查看更多...

20 1/2 页