微软企业库学习办法

上传人:zejun11****63.com 文档编号:122070533 上传时间:2020-02-29 格式:DOCX 页数:26 大小:169.08KB
返回 下载 相关 举报
微软企业库学习办法_第1页
第1页 / 共26页
微软企业库学习办法_第2页
第2页 / 共26页
微软企业库学习办法_第3页
第3页 / 共26页
微软企业库学习办法_第4页
第4页 / 共26页
微软企业库学习办法_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《微软企业库学习办法》由会员分享,可在线阅读,更多相关《微软企业库学习办法(26页珍藏版)》请在金锄头文库上搜索。

1、微软企业库5.0 学习之路第一步、差不多入门一、什么是企业库? 企业库包含一系列应用程序模块和核心架构。这些高复用的组件旨在关心开发者解决一些共同的企业开发问题。 企业库同时提供高可配置的特性,使我们治理重复的工作更加容易,例如我们明白的在应用的专门多地点发生的横切关注点。包括像日志记录、缓存、异常治理等。另外,它提供的依靠注入容器能够简化和分解你的设计,使他们更加可实验和容易理解,关心你创建更加高性能的设计和各种应用。 二、使用企业库的3个简单步骤: 1.引用和配置你需要的程序集。 2.通过企业库配置应用。 3.在你的代码中创建和使用企业库对象。 三、企业库的好处: 应用模块关心解决开发者从

2、一个项目到另一个项目面对的共同问题。他们的设计封装了微软推举的做法,这些差不多上基于微软框架的应用开发。例如,数据访问应用模块提供了对ADO.NET访问最频繁使用的特征。在某些情况下,应用模块还添加了一些基础类库没有直接提供的相关功能。 四、企业库的目标: 1.一致。所有的企业库模块都坚持一致的设计模式和实现方式。 2.可扩展性。所有的应用模块包括定义扩展点,同意开发人员通过添加自己的代码定制应用模块的行为。 3.易用性。企业库提供了许多有用性的东西,包括一个图形化配置工具,简单的安装过程,完成的文档和示例。 4.集成。企业库应用模块被设计得能够一起专门好的工作,同时也被如此测试过。然而你不必

3、一起使用他们。我们能够单独使用这些应用模块,同时这些应用模块之间也有些依靠,比如在企业库核心和Unity中的一些通用组件。 上面是企业库的差不多概念,理解了企业库的相关知识后,我们能够开始来安装企业库了1、下载地址:点我进入下载页面(不是直接下载),安装后就能够使用了。这次5.0相比4.1的最大改动确实是整个配置工具采纳了WPF重新构建和实例化和治理对象生命周期的全依靠注入的实现,同时支持VS2008SP1和VS2010,话讲尽管这次的配置工具变化挺大的,然而一旦熟悉了就觉得比4.1的好,因为能够清晰的看见每个模块的之间的依靠关系。一、Unity和对象生成器的整合 在那个版本中,用于创建对象的

4、差不多技术是一个单一的依靠注入容器,默认的是Unity。你能够使用容器生成企业库对象的实例并注入到其他的对象。 企业库提供一个标准的接口从Unity容器中来获得定义在企业库配置中的对象的实例,如SqlDatabase或LogWriter.另外,注入友好的实例门面处理静态门面之外是有效的,因为静态门面不能用注入,然而为了向后兼容往常的版本而存在。在本版本中的示例中差不多上用依靠注入,然而往常版本中是用的静态工厂类和静态门面在那个版本中依旧支持的。对象生成器,一个低版本的依靠注入机制在那个版本中被归入Unity中,在项目中不再需要单独引用对象生成器集。 支持Unity容器,必须引用一个被包含在企业

5、库中的Microsoft.Practices.ServiceLocation程序集。假如要使用一个第3方的依靠注入容器,必须直接实现IServiceLocator接口或者通过适配器实现。二、阻碍所有模块的变化: 1.在企业库中要紧修正是使用依靠注入机制。所用的应用模块以及核心系统差不多上用依靠注入机制,并使用Unity作为默认的依靠注入容器,来创建和治理企业库对象。 2.自主容器的实现通过实现Common Service Locator项目提供的 IServiceLocator 接口来完成。 3.由于错误配置引发的错误将提供更多有用的错误信息。 4.配置系统公开了一个 fluent接口,用来为

6、单个对象或整个应用创建和填充配置源。fluent API使得为各种情景创建配置源更加容易。 5.ConfigurationView类被删除. 6.一些配置元素有默认值,可能不同于往常版本的隐式默认值. 7.企业库现在同意你通过另一个配置文件合成一个混合配置文件. 8.能够可通过不同的配置文件读取不同的配置信息. 9.企业库不支持XAML扫瞄器应用程序(XBAP). 10.WmiEnabled标志为了像前兼容仍然存在企业库中,然而在5.0中是被忽略的,而且今后会被删除. 11.改进式的安装同意你只安装部分应用模块及配置工具. 12.在往常版本中要做统一集成,必须添加核心企业库的扩展和每个模块的扩

7、展。现在假如你只需要直接访问容器,那么只有核心扩展是必须的。单独模块将自动支持。 旧的功能为了保持像前兼容仍然保留,但差不多不起作用。 13.FileConfigurationSource.Save 的签名差不多改变,参数由3个变为2个。 14.快速入门不再包含在主安装程序中。 三、Breaking变化: 1.企业库现在抛出了一个配置错误ActivationException,之前是System.Configuration.ConfigurationErrorsException。这包括试着解决没有配置信息错误的一个实例提供者。 2.往常版本在猎取应用模块错误时抛出BuildFailedExc

8、eption错误,现在关于所有的应用模块都抛出ActivationException 3 .之前的版本,在讲一个空源传到容器来调用容器的时候,会抛出ArgumentNullException,现在抛出NullReferenceException 4.ObjectBuilder2不再是一个单独的程序集,而是集成到了Unity集合中,在项目中也不需要引用ObjectBuilder2.dll。 5.WMI支持差不多从企业库中删除,除了在logging模块中的WMI跟踪监听器。 6.假如你没有关闭DbDataReader,可能会导致随机的、专门难在您的代码中找到的错误,尤其是当你正在一个由Transa

9、ctionScope上下文创建的隐式事务下操作时。 你必须始终确保您的应用程序及时关闭DbDataReader,不管是明确的DbDataReader.Close方法关闭或是逼迫DbDataReader释放。 7.假如你使用 validator 特性必须引用 System.ComponentModel.DataAnnotations程序集。 8.为FileConfigurationSource.Save方法签名已更改。该方法有两个参数,而不是3个参数 9.Microsoft.Practices.EnterpriseLibrary.Configuration.Design.dll集合的功能和其他设

10、计时集合被一个新的集合Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll代替。 10,性能计数器异常从PolicyInjection.CallHandlers移到 PolicyInjection 程序集。 11.包含在Policy Injection Application Block中的CachingCallHandler有未处理的安全漏洞,差不多从Policy Injection Application Block中移除。 四、配置工具的改变: 1.新的企业拥有一个新的GUI库和一个元数据驱动的可扩展性模。

11、2.支持向导 3.新的类型选择。 4.不支持对依靠策略的Environmental Overrides 。日志模块处理Categories。 五、缓存模块变化: 1.缓存清除已被完全重写的性能优化 六、数据库访问模块: 1.ExecuteReader, ExecuteXmlReader, ExecuteScalar, and ExecuteNonQuery方法具有异步版本。 2.包含了专门多新的方法和类同意你提取数据作为对象序列。例如在合适的时候使用客户端查询技术,如LINQ. 3.存在的方法ExecuteReader和新的方法BeginExecuteReader不接收CommandBehav

12、ior 参数。默认的当调用这些方法的时候这些方法 会自动设置CommandBehavior 属性到reder中用来关闭连接直到指定一个事务。 七、异常处理模块: 1.日志异常处理重新使用日志模块的Log Writer and Trace Listeners 。这在之前版本中不是默认设置。 2.增加一个功能,通过ExceptionManager.Process 方法接收一个默认值并返回一个值。EntLib微软企业库5.0 学习之路第二步、使用VS2010+Data Access模块建立多数据库项目现在我就开始进入学习之路的第二步Data Access模块,那个模块是企业库中被使用频率最高的模块,

13、它专门好的封装了数据库操作应用,为我们进行多数据库系统开发提供了便利,只需更改配置文件就能够专门快的切换数据库访问(惋惜依旧要重写SQL语句,没法和ORM比)。下面是我在配置企业库的时候碰到问题,假如没有碰到能够略去不看(可能有点小白)注意:此处切换数据库配置必须是计算机中差不多安装好相应的数据库访问模块,如需要进行从MS SQL向SQLite数据库的变更时,计算机中必须安装好SQLite数据库访问模块(在那个地点我就碰到了那个问题,原来我机器上在VS2008开发时差不多安装过SQLite数据库访问模块,然而新装了VS2010,在VS2010引用对话框中也能访问到在VS2008安装的SQLit

14、e(然而在企业库5.0配置器中无法查看到SQLite),然而发觉更改企业库的配置文件后无法访问SQLite数据库,尝试了专门多方法都没用,结果死马当活马医又重新装了一遍SQLite数据库访问模块再重新打开企业库配置器就能够看到SQLite数据库了(因此请确保在企业库编辑器中能够查看到要切换的数据库,否则可能导致无法访问数据库)。看下图: 回归正题,这次的学习由于VS2010公布了,而且企业库5.0也都支持.NET4.0,因此决定企业库的学习之路采纳VS2010进行学习(顺便熟悉下.NET4的特性,怎么讲公司的项目不可能立马转移到.NET4.0的,现在就当练手吧)好了,现在就开始进行第2步的学习

15、了,首先看下项目的结构:项目采纳仿MS PetShop架构,如不了解此架构能够到此查看了解:PetShop的系统架构设计其中DAL和DALSQLite层对应MS SQL和SQLite数据库,Helper为整个项目的关心器现在来具体了解下DAL层在DAL层中引用了Helper,IDAL,EnterpriseLibrary.Common和EnterpriseLibrary.Data这4个项目,其中Helper项目中有个DBHelper.cs,用于猎取当前的数据对象,其代码如下(采纳了C#4.0的语法特性,默认参数,数据库对象名默认为空,如此则会调用企业库默认的数据库对象,同时也能够在调用的时候赋值,如此则依照传递过来的数据库对象名来创建数据库,通过那个参数我们将原来需要重载的2个方法才能实现合并成了一个方法):view sourceprint?01using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;02using Microsoft.Practices.EnterpriseLibrary.Data;0304namespace EntLibStudy.Helper0506public static class DBHelper0708/ 09/ 猎取数据库对象1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号