代码改变世界

随笔分类 -  MS Enterprise Library

微软企业库4.1学习笔记(十四)缓存模块2 使用缓存模块进行开发

2010-04-21 23:21 by Virus-BeautyCode, 2510 阅读, 收藏, 编辑
摘要: 本节讲述如何在开发应用的过程中使用缓存模块。包括配置缓存模块,在解决方案中引入缓存模块,选择后端存储。  配置缓存模块  添加应用代码  选择后端存储  所有的模块都包括程序集和一份源代码。如果你想使用源代码,在使用QuickStart和配置工具之前需要编译源代码。  1.添加配置信息  如果你是用数据访问模块作为后端存储的访问手段,在配置缓存模块之前需要先配置数据访问模块。  打开企业库安装目录... 阅读全文

微软企业库4.1学习笔记(十三)缓存模块

2010-04-21 09:05 by Virus-BeautyCode, 3928 阅读, 收藏, 编辑
摘要: 企业库的缓存模块允许开发者在应用中包含本地缓存。它支持内存缓存,内存中缓存的数据,可以用数据库或者其他分离的存储作为后端数据存储。缓存模块可以不经修改而直接使用,它提供了获取数据、添加数据到缓存、清空缓存中的数据所需的全部方法。同样支持可配置的缓存过期和清除策略。  在构建企业级分布式应用的时候,架构师和开发者将会面对许多挑战。缓存可以帮助他们克服下面的一些挑战:  性能,缓存通过存储和数据消费者... 阅读全文

微软企业库4.1学习笔记(十二)中间人Providers,设计时支持Design-Time Configuration和仪表盘Instrumentation

2010-04-20 09:00 by Virus-BeautyCode, 2698 阅读, 收藏, 编辑
摘要: 一、Provider  在.NET frameword中每一个provider都是一段代码的中间人,通过它,你的应用可以连接到一个服务或者是数据源,可以获取或者是修改服务和数据源的数据。在企业库中包含很多的providers。另外,你也可以创建自己的provider,在你的应用中满足特殊的需求。  一个provider type定义了和一个模块相关的功能的接口,一个provider是一个provi... 阅读全文

微软企业库4.1学习笔记(十一)企业库的核心类

2010-04-18 21:10 by Virus-BeautyCode, 2848 阅读, 收藏, 编辑
摘要: 在企业库的很多模块中都实现了很多常用的功能,他们同样对企业库以外的应用代码也很有用。例如,数据序列化和访问配置信息。为了提供可用性,这些代码都放在企业库核心的Common程序集中。  另外,所有的模块都被设计为最小的依赖,以便他们可以单独使用。除了Unity,所有的企业库都依赖于企业库的核心库,核心库包含了下面的子系统:  Common程序集  模块的仪表盘,模块的运行情况  配置信息的帮助类,和... 阅读全文

微软企业库4.1学习笔记(十)企业库的设计

2010-04-18 17:19 by Virus-BeautyCode, 2738 阅读, 收藏, 编辑
摘要: 在设计整个企业库的过程中,使用了一系列的最佳实践。下面列出一些里面的最佳实践:  在核心库中使用了Common模块  使用了统一的命名约定和统一的版本  在设计的过程中使用单元测试  在所有模块中包含基础结构  在企业库的模块中包含了下面的模式,当然还包括其他模式:  工厂模式,一个创建型模式,使用指定的类型创建另外一个对象。  插件模式,这种模式扩展了类的行为。在特殊的环境中创建一个子类,只包含... 阅读全文

微软企业库4.1学习笔记(九)企业库程序集的部署

2010-04-18 15:28 by Virus-BeautyCode, 2463 阅读, 收藏, 编辑
摘要: 企业库包含很多的程序集,除去Unity模块,企业库的每个程序集的名称都以“Microsoft.Practices.EnterpriseLibrary”开头。另外,其他的模块都可能会依赖企业库的Common程序集。使用一个模块的应用也可能会需要其他模块的程序集,例如使用Caching模块,有可能会需要Data Access模块的程序集。  在应用中使用企业库,可以用下面的两种... 阅读全文

微软企业库4.1学习笔记(八)创建对象 续集2

2010-04-17 05:06 by Virus-BeautyCode, 2598 阅读, 收藏, 编辑
摘要: 3.3通过配置指定和Unity的整合  另外一种方法是在配置源中指定配置的需要,你可以指定下面的一条或者多条:  你可以在Unity配置中指定想要的BlockExtensions  你可以在Unity配置中的type配置节指定如何创建企业库对象,指定类型映射的关系,例如,当使用resolve方法的时候返回一个SqlDatabase,或者是返回指定的注入Database对象。也可以指定生命周期和其他... 阅读全文

微软企业库4.1学习笔记(七)创建对象 续集1

2010-04-16 08:57 by Virus-BeautyCode, 3138 阅读, 收藏, 编辑
摘要: 3.2使用Unity模块创建企业库对象  下面介绍如何使用前面的方法获取企业库对象的实例。代码示例如下  [代码]  首先创建一个Unity容器,并且添加企业库核心配置扩展。  默认情况下,这个扩展会从应用的配置文件(app.config和web.config)中读取配置信息。如果你使用自定义的配置源,你可以使用下面的代码创建容器并添加配置扩展。  代码Code highlighting prod... 阅读全文

微软企业库4.1学习笔记(六)创建对象

2010-04-15 07:09 by Virus-BeautyCode, 5283 阅读, 收藏, 编辑
摘要: 一、创建应用模块对象  在你的应用中经常会需要创建例如Database或者是CacheManager之类的对象,企业库支持一系列的方法,可以创建应用需要的对象。  你可以使用工厂方法创建这些对象,企业库的在每一个功能模块和核心库都包含有工厂方法来完成这个任务。这些静态的工厂方法自动读取应用的配置信息,provider的工厂方法允许你手工在配置文件中创建适当的配置,然后用工厂方法在代码中创建prov... 阅读全文

微软企业库4.1学习笔记(五)对象创建和依赖注入方法

2010-04-14 09:17 by Virus-BeautyCode, 4266 阅读, 收藏, 编辑
摘要: 企业库4.0和4.1的主要改进是加入了全新的,而且很容易使用的对象创建方式,包括其他的依赖对象。这个功能在企业库的Unity模块中通过依赖注入暴露,它使用了下面这些常用的设计模式。  Dependency Injection依赖注入  Inversion of Control(IoC)反转控制  Service Locator服务定位  Service Container服务容器  Factory... 阅读全文

微软企业库4.1学习笔记(四)主要的功能模块简介

2010-04-13 04:52 by Virus-BeautyCode, 4637 阅读, 收藏, 编辑
摘要: 一、企业库的主要内容  企业库是一个可重用的组件集合,同时也是一个受支持的基础框架。企业库包含的内容:  企业库功能模块  企业库核心  企业库配置工具  对象创建和依赖注入方法  工具集,示例,和开发指导  二、强命名企业库程序集  如果你使用源代码生成企业库程序集,你就要考虑是否给程序集添加强命名。强命名由程序集的标识组成,包括一个名称,版本号,和一个可选的区域信息,加上一个公共的key和一个... 阅读全文

微软企业库4.1学习笔记(三)企业库迁移和并行使用,以及企业库的扩展

2010-04-12 02:29 by Virus-BeautyCode, 4918 阅读, 收藏, 编辑
摘要: 一、迁移和并行使用  通常来说,企业库是建立在.NET 2.0 的基础上,使用后续版本的企业库也不需要改变任何代码。不需要将引用更新到新的程序集,也不需要在配置文件中指明程序集的正确版本。  这个版本4.1的企业库可以和以前版本的企业库同时安装,你可以将使用新版本的应用程序和使用旧版本的应用程序一起部署。也你可以一次性的将现有应用的企业库应用升级到新版本。  如果你选择并行使用不同版本的企业库,你... 阅读全文

微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建

2010-04-11 16:44 by Virus-BeautyCode, 6296 阅读, 收藏, 编辑
摘要: 在4.1中你可以使用Unity Application Block(Unity)在函数或者是功能运行之前或者之后拦截企业库的对象,生成这些对象,并且将他们注入到其他对象中。  企业库中包含了很多的类,允许你从Unity容器中获取在企业库配置中定义的,类似SqlDatabase或者是CacheManager对象的实例。另外,一些有好的注入代替了过去的静态方法。使用Unity的依赖注入能力可以很好的简... 阅读全文

微软企业库4.1学习笔记(一)开篇乱弹

2010-04-11 16:08 by Virus-BeautyCode, 7151 阅读, 收藏, 编辑
摘要: 我是一个.NET技术为主的程序员,每次开发一个新的应用的时候,都会被人问道“.NET有没有框架可以用,有没有类似hibernate,structs,spring之类的框架,怎么什么都没有呢,.NET有没有开源的现成的好用的框架,怎么每次都要造轮子呢?你们在干什么呢,数据访问和日志这种东西怎么每次你们都要花功夫来写呢,没有可以参考的吗”,大部分人的回答往往是“没有... 阅读全文