随笔分类 -  [02]C#

C#
摘要:今天继续介绍Unity,在上一篇的文章中,我介绍了使用UnityContainer来注册对象之间的关系、注册已存在的对象之间的关系,同时着重介绍了Unity内置的各种生命周期管理器的使用方法,今天则主要介绍Unity的Register和Resolve的一些高级应用。本篇文章将主要介绍:1、注册类型同时初始化构造函数参数并重载调用。2、注册类型同时初始化属性参数并重载调用。3、延迟获取对象。4、检索检索容器中注册信息。一、注册类型同时初始化构造函数参数并重载调用 我们在使用Unity中注册对象之间的关系时,可能对象有相应的构造函数,构造函数中需要传递相应的参数,Unity就支持这样的注册,其主要 阅读全文
posted @ 2010-11-22 09:28 kyo-yo 阅读(8997) 评论(13) 推荐(10) 编辑
摘要:在前一篇文章中,我简单的介绍了如何使用代码及配置文件来进行Unity容器配置,今天则继续介绍Unity容器的使用方法。本篇文章将主要介绍:1、注册对象之间的关系。2、为已存在的对象注册关系。3、Unity中Lifetime Managers介绍。一、注册对象之间的关系在上一篇文章中,已经简单介绍了如何使用Unity来注册对象与对象之间的关系,通过RegisterType方法来注册对象之间的关系。首先来看下类关系图:有2个接口类:IClass(班级接口)和ISubject(科目接口),其分别有2个实现类,现在首先要注册班级相关的对象关系,代码如下:这段代码展示了使用RegisterType方法来 阅读全文
posted @ 2010-11-10 10:20 kyo-yo 阅读(12681) 评论(13) 推荐(20) 编辑
摘要:今天继续微软企业库5.0的学习之路,今天将介绍微软企业库的重要模块——Unity。本篇文章将主要介绍:1、Unity模块的相关基本知识。2、为什么要使用Unity?3、在什么情况下需要使用Unity。4、Unity学习资源推荐一、Unity模块的相关基本知识在企业库4.0版本中,patterns & practices小组对整个企业库的架构进行了重大变更,将原来的核... 阅读全文
posted @ 2010-11-01 09:44 kyo-yo 阅读(16386) 评论(17) 推荐(26) 编辑
摘要:在前面的Part3中,我介绍Policy Injection模块中内置的Call Handler的使用方法,今天则继续介绍Call Handler——Custom Call Handler,通过建立Custom Call Handler来实现项目中的用户操作日志的记录,具体的代码可以在项目中EntLib.Helper项目下找到,如下图: 本文将从Custom Call Handler两种方式来介绍:Attribute方式和Configuration方式。一、核心代码建立Custom Call Handler则需要有以下几个步骤:1、建立一个类实现接口ICallHandler。2、根据具体需求建 阅读全文
posted @ 2010-10-13 09:53 kyo-yo 阅读(8516) 评论(23) 推荐(16) 编辑
摘要:在前面的Part1和Part2中我已经介绍了PolicyInjection模块的内置的Matching Rule和自定义Matching Rule的基本信息及配置使用方法,不过光有Matching Rule进行验证匹配还不够,还必须要有相应的操作——Call Handler,所以今天继续介绍PolicyInjection模块内置的Call Handler。一、PolicyInjection模块内置的Call Handler通过将Call Handler和Part1、Part2中的Matching Rule组合起来,我们就可以实现AOP编程,如果说Matching Rule是为了匹配寻找需要进行 阅读全文
posted @ 2010-10-08 14:34 kyo-yo 阅读(6357) 评论(13) 推荐(5) 编辑
摘要:这篇文章是我在patterns & practices看到的一篇有关EntLib5.0的文章,主要介绍了EntLib5.0的这次的架构变化由来,觉得很不错,大家可以看一下!在过去几年中,依赖关系注入 (DI) 模式在 .NET 开发人员社区一直受到关注。长时间以来,优秀的博客作者们讨论着 DI 的优点。MSDN 杂志 针对这一主题发表了多篇文章。.NET 4.0 将发布某种类似 DI 的功能,并计划以后将其发展为完整的 DI 系统。阅读有关 DI 的博客文章时,我注意到,这一主题有一个很小却很重要的倾向。作者们谈论的是如何在整个应用程序环境中使用 DI。但如何编写使用 DI 的库或框架呢?关注 阅读全文
posted @ 2010-09-16 14:19 kyo-yo 阅读(7185) 评论(0) 推荐(8) 编辑
摘要:前段时间因为公司项目需要,需要在网站中整合BBS论坛,主要实现会员信息同步,经过目前市面上开源的BBS项目,最终认为还是DiscuzNt比较好,原因有以下几点:1、符合国人习惯,DiscuzNt是由PHP版的Discuz演化而来,市场占有率比较高,而且比较符合国人的习惯。2、采用.NET语言编写,源码看起来不会因为跨语言而导致问题。3、有官方支持,市面上的.NET语言编写BBS论坛能比的上Disc... 阅读全文
posted @ 2010-09-08 10:02 kyo-yo 阅读(4847) 评论(27) 推荐(2) 编辑
摘要:继续微软企业库5.0的学习之路,今天主要介绍的是企业库的PolicyInjection模块,这个模块是为了方便我们在项目中使用AOP而生的模块,本篇主要介绍的PolicyInjection模块信息、内置的匹配规则和内置处理模块使用。一、PolicyInjection模块基本信息介绍PolicyInjection模块是在企业库3.0才正式引入的模块,简称PIAB(Policy Injection Application Block),这个模块的主要功能是方便我们在项目开发中进行AOP(面向切面编程),以简化开发内容。有关AOP方面的知识在园子里已经有很多朋友介绍过了,我这边就不重复介绍了,如不了 阅读全文
posted @ 2010-09-01 10:01 kyo-yo 阅读(12827) 评论(8) 推荐(12) 编辑
摘要:在介绍完企业库几个常用模块后,我今天要对企业库的配置文件进行处理,缘由是我打开web.config想进行一些配置的时候发现web.config已经变的异常的臃肿(大量的企业库配置信息充斥其中),所以决定写这篇关于Configuration Setting模块等其他方式分类管理企业库配置信息的文章。在ASP.NET4中微软就帮我们优化过了web.config,给了我们一个干净的web.config(将原来需要通过web.config注册的程序集、ASP.NET标签和handler等都移至machine.config中)这样大大方便了我们开发人员。虽然我们通过企业库的配置工具可以很方便的配置企业库 阅读全文
posted @ 2010-08-16 10:10 kyo-yo 阅读(7375) 评论(4) 推荐(3) 编辑
摘要:在上一篇文章中,我介绍了企业库Cryptographer模块的一些重要类,同时介绍了企业库Cryptographer模块为我们提供的扩展接口,今天我就要根据这些接口来进行扩展开发,实现2个加密解密方法(离散加密和对称性加密),分别实现自接口IHashProvider和接口ISymmetricCryptoProvider。首先来看下离散加密——CustomHashCryptography,具体代码如下:这段代码主要就是实现一个离散加密,不过还是有几点需要注意:1、在实现接口IHashProvider的基础上,为了能让这个自定义加密可以在企业库的配置工具里调用到需要为类加上一个特性:[Config 阅读全文
posted @ 2010-08-11 10:16 kyo-yo 阅读(4363) 评论(0) 推荐(4) 编辑
摘要:在完成了后,今天开始介绍企业库中的新模块:Cryptographer(加密模块),这个模块在日常的大多数项目的作用非常重要,例如:网站会员密码、身份证号、网站配置等,通过对信息进行加密可以保证项目数据的安全性。今天主要介绍以下几点:1、企业库Cryptographer(加密模块)简单分析。2、实现一个自定义加密接口。3、在项目中应用自定义接口。第一点、企业库Cryptographer(加密模块)简单分析在我们日常开发中总会使用加密对数据进行加密,我们一般都会在项目中自定义一些加密方法,而企业库就是为了简便这些开发,提供了简便的方式来进行数据加密解密。和其他的模块一样,Cryptographer 阅读全文
posted @ 2010-08-09 09:46 kyo-yo 阅读(5686) 评论(2) 推荐(5) 编辑
摘要:前端时间花了1个多星期的时间写了使用jQuery.Validate进行客户端验证,但是那仅仅是客户端的验证,在开发项目的过程中,客户端的信息永远是不可信的,所以我们还需要在服务器端进行服务器端的验证已保证数据的正确,今天我继续企业库的学习之路,主要介绍企业库中的Validation模块如何对数据进行验证。本文的主要内容有以下三点:1、根据本项目进行实体验证。2、使用Validation提供的ASP.NET控件将实体验证和UI层页面验证联系起来3、简单分析下Validation.Integration.Aspnet实现逻辑文章开始前的废话:我学习微软企业库都是首先查看企业库提供的HOL(Micr 阅读全文
posted @ 2010-08-04 11:14 kyo-yo 阅读(6255) 评论(3) 推荐(6) 编辑
摘要:在前一篇文章中,已经将Validation模块的内置的多种验证器(第一类验证器)的使用进行了介绍,今天继续后面两类验证器:独立验证器和自定义验证器,同时对Validation模块下有关验证器的配置类进行遗漏补充。一、独立验证器 我上篇中我将AndCompositeValidator和OrCompositeValidator归为独立验证器,这2个验证器主要是为了第一类验证服务,可以进行多种验证组合在一起进行复杂验证:AndCompositeValidator——组合验证,逻辑与验证,所包含的多种验证全部通过则通过OrCompositeValidator——组合验证,逻辑或验证,所包含的多种验证有 阅读全文
posted @ 2010-08-02 10:02 kyo-yo 阅读(4906) 评论(5) 推荐(7) 编辑
摘要:在上一篇文章中,我介绍了企业库的Validation模块的基本信息、使用方法,同时对企业库的内置验证器的实现及验证器的特性类实现进行了简单的分析,今天我将继续前一篇文章,介绍Validation模块内置的多种验证器的使用进行介绍。(注:本文仅仅就Validation模块的各种验证器根据我个人的理解进行介绍,如果有误欢迎大家指出!)0、验证器的命名参数在上一篇文章中我已经介绍过验证器的特性类的层次:BaseValidationAttribute-ValidatorAttribute -ValueValidatorAttribute -具体验证器特性类 在具体的验证器的父类们中,已经封装好了 阅读全文
posted @ 2010-07-21 09:53 kyo-yo 阅读(5708) 评论(6) 推荐(8) 编辑
摘要:本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介、用途、使用方法、默认提供的多种验证器的介绍等。一、简介及用途 在实际的项目开发中,我们总会需要对数据进行验证,以保证数据的可靠性,而为了使这些验证可以在不同的地方进行复用(如winform、web、WPF等),就需要将验证进行封装,EntLib的Validation模块就为... 阅读全文
posted @ 2010-07-19 09:51 kyo-yo 阅读(10000) 评论(11) 推荐(9) 编辑
摘要:花了一个多星期的时间总算把这使用jQuery.Validate进行客户端验证——不使用微软验证控件的理由写完了,总共5篇,可能还有许多不足,欢迎大家的指点!以下为具体的目录,方便大家的查看:1、[jQuery]使用jQuery.Validate进行客户端验证(初级篇)——不使用微软验证控件的理由内容:为何选用jQuery.Validate进行客户端验... 阅读全文
posted @ 2010-07-07 09:46 kyo-yo 阅读(14023) 评论(36) 推荐(21) 编辑
摘要:继续上一篇文章使用jQuery.Validate进行客户端验证(高级篇-上),本文将继续介绍jQuery.Validate的高级应用——jQuery.Validate的AJAX验证及简单扩展。今天主要介绍的内容有:1、如何使用jQuery.Validate进行AJAX验证?2、默认jQuery.Validate在进行AJAX验证时返回必须是bool类型,如何返回一个对象包括错误消息及验证结果?3、在反复使用jQuery.Validate进行AJAX验证时,总是需要编写相关AJAX参数,可否进行进一步封装?第一点:如何使用jQuery.Validate进行AJAX验证?(具体见High-2.as 阅读全文
posted @ 2010-07-06 10:39 kyo-yo 阅读(45306) 评论(50) 推荐(20) 编辑
摘要:在上一篇文章使用jQuery.Validate进行客户端验证(中级篇-上)中我介绍了jQuery.Validate的3种验证方式,今天这篇中级-下则是在上一篇的基础上继续介绍jQuery.Validate的一些常用的验证使用方法。今天主要以使用jQuery.Validate后会遇到的问题为介绍内容,主要介绍以下几点:1、在使用上一篇中第2种方式,以JSON的格式编写验证规则,影响了正常的class... 阅读全文
posted @ 2010-07-01 10:55 kyo-yo 阅读(24645) 评论(24) 推荐(11) 编辑
摘要:在上一篇使用jQuery.Validate进行客户端验证(初级篇)中我介绍了为什么选用jQuery.Validate作为客户端的理由,同时也介绍了jQuery.Validate的基本用法以及中文验证消息的修改方法,今天的中级篇我将介绍下jQuery.Validate的一些常见的验证的使用方法。jQuery.Validate为我们提供了3种验证编写方式,各有优缺点:1、在input对象中书写clas... 阅读全文
posted @ 2010-06-29 10:01 kyo-yo 阅读(31201) 评论(29) 推荐(25) 编辑
摘要:在前一篇文章:[EntLib]微软企业库5.0 学习之路——第二步、使用VS2010+Data Access模块建立多数据库项目中我们搭建好了项目的整体多数据库环境,实现了项目的多数据库访问,而整个项目中最主要的异常处理却没有进行部署,今天我们就使用企业库中的Exception Handling+Logging模块为项目加上异常处理以及异常日志记录。(注:关于Exception Handling和Logging模块的相关基本概念可以查看TerryLee的异常处理和日志检测这2篇文章) 首先说一下企业库Logging模块的个人感觉,个人感觉企业库的日志记录太繁琐了,而且要自定义也比较烦,无法通过 阅读全文
posted @ 2010-06-17 10:41 kyo-yo 阅读(15971) 评论(14) 推荐(11) 编辑