微软企业库5.0 学习之路_第1页
微软企业库5.0 学习之路_第2页
微软企业库5.0 学习之路_第3页
微软企业库5.0 学习之路_第4页
微软企业库5.0 学习之路_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Microsoft企业库5.0学习路径第一步,默认入门首先,什么是企业库?企业库包含各种应用程序模块和核心架构。这些高重用组件旨在帮助开发人员解决一些常见的企业开发问题。企业库同时提供了高级别的配置功能,使重复任务(例如在多个应用程序中发生的横切兴趣点)的管理更加容易。包括日志记录、缓存、异常管理等。此外,为了更实验性、更易于理解,可以提供简化和分解设计的从属注入容器,以创建更高性能的设计和各种应用程序。其次,使用企业库的三个简单步骤:1.参照和配置所需的组件。2.通过企业库配置应用。在代码中创建和使用企业库对象。三、企业库的优点:应用程序有助于解决开发人员从一个项目到另一个项目所面临的常见问题。他们的设计封装了基于微软框架的应用程序开发微软推荐的方法。例如,数据访问应用程序模块使用ADO .提供NET访问最常用的功能。在某些情况下,应用程序模块中还添加了一些不直接提供的基类库的相关功能。四、企业图书馆的目标:1.一致。所有企业库模块都坚持一致的设计模式和实施方法。2.可扩展性。所有应用程序模块都包含扩展点定义,允许开发人员添加自己的代码来自定义应用程序模块的行为。3.易用性。企业库提供了许多实用的东西,包括图形配置工具、简单的安装过程、完成的文档和示例。4.合并。企业库应用程序模块旨在协同工作,并经过了此类测试。但是没有必要把他们一起使用。这些应用程序模块可以单独使用,例如企业库核心和Unity的某些常用组件。了解企业库的基本概念(企业库)后,即可开始安装企业库1、下载地址:进入下载页面(非直接下载),安装后即可使用。与5.0相比,4.1的最大变化是,整个配置工具在实施WPF重新构建和实例化以及对象生命周期管理的完全依赖项注入的同时,支持VS2008SP1和VS2010。也就是说,此次配置工具虽然更改了很多,但一旦熟悉,就可以清楚地看到每个模块之间的依赖性,因此您可能会觉得比4.1更好。一、集成Unity和对象生成器在此版本中创建对象的基本技术是默认情况下包含Unity的单个从属注入容器。您可以使用容器生成企业库对象的实例,并将其注入其他对象。企业库提供了一个标准接口,用于从Unity容器中获取在企业库配置中定义的对象(如SqlDatabase或LogWriter)的实例。此外,虽然不能注入静态外观,但为了向后兼容而存在,因此显示静态外观是有效的。此版本的示例使用从属注射,但在此版本中仍支持在早期版本中使用的静态工厂类和静态外观。对象生成器是在此版本中分类为Unity的早期版本的从属注射机制,不再需要在项目中单独引用对象生成器集。支持Unity容器,并且必须参考企业存储库中包含的Microsoft . practices . service location程序集。要使用第三方依赖注入容器,必须直接实施IServiceLocator接口或通过适配器实现。二、影响所有模块的更改:1.企业库中的主要修改是使用从属注入机制。与核心系统一起使用的应用程序模块使用从属注射机制,并将Unity用作默认从属注射容器,以创建和管理企业库对象。2.自主容器的实现通过实施通用服务定位器项目提供的IServiceLocator界面来完成。3.配置无效导致的错误提供了更有用的错误信息。4.配置系统公开了用于为单个对象或整个应用程序创建和填充配置源的fluent接口。使用Fluent API,可以更轻松地为各种方案创建配置源。5.已删除ConfigurationView类。6.某些组件具有默认值,可能不同于早期版本中的隐式默认值。7.使用企业库,您现在可以通过不同的配置文件创建一个混合配置文件。8.可以从其他配置文件中读取其他配置信息。9.企业库不支持XAML浏览器应用程序(XBAP)。10.为了向后兼容,WmiEnabled标志保留在企业库中,但在5.0中,它将被忽略,以后将被删除。11.改进的安装仅允许安装某些应用程序模块和配置工具。12.要在以前版本中执行集成集成,必须添加核心企业库的扩展和每个模块的扩展。现在,您只需要直接访问容器,就只需要核心扩展。自动支持单独的模块。旧功能将保留以保持向后兼容性,但不再起作用。13.fileconfigurationsource.save的签名已更改,参数已从3更改为2。14.快速启动不再是主安装程序的一部分。三、突破:1.企业库现在遇到配置错误ActivationException,该配置错误以前是system . configuration . configuration errorexception。这包括尝试解决没有配置信息错误的实例提供方。2.以前的版本在获取应用模块错误时遇到BuildFailedException错误,现在所有应用模块都发生ActivationException3.在以前的版本中,空源传递给容器并调用容器时,会发生ArgumentNullException,现在会发生NullReferenceException4.ObjectBuilder2不再是单独的程序集,而是集成到Unity集合中,因此项目不再需要引用ObjectBuilder2.dll。5.已从企业库中删除WMI支持,但logging模块的WMI跟踪侦听器除外。6.如果不关闭DbDataReader,您可能会遇到代码中难以找到的随机错误,特别是在处理TransactionScope上下文生成的隐式事务时。应用程序必须及时关闭DbDataReader,以便明确关闭DbDataReader.close方法或释放DbDataReader。7.如果使用validator属性,则必须参考ponent model . dataannotations程序集。8.FileConfigurationSource。Save方法的签名已更改。此方法有两个参数,而不是三个参数9 . Microsoft . practices . enterprise library . configuration . design . dll集合的功能和其他设计时间集合是新集合Microsoft . practices . enterprise library . configuration10、性能计数器异常为PolicyInjection。导航到CallHandlers中的PolicyInjection集合。11.policy injection application block中包含的CachingCallHandler具有未处理的安全漏洞,已从policy injection application block中删除。四、更改配置工具:1.新公司具有新的GUI库和基于元数据的可扩展性模型。2.支持向导3.选择新类型。4.不支持依赖于策略的环境复盖。日志模块处理Categories。五、缓存模块更改:1.缓存清除完全重写的性能优化六、数据库访问模块:1.executereader、execute XML reader、executescalalar和and executenonquery方法具有异步版本。2.包含许多新方法和类,可以将数据提取到对象序列中。例如,使用客户端查询技术,如LINQ。3.现有方法ExecuteReader和新方法BeginExecuteReader不接受CommandBehavior参数。默认情况下,调用这些方法时将调用这些方法在指定事务之前,用于关闭连接的CommandBehavior属性将自动设置为reder。七、异常处理模块:1.日志异常处理重用日志模块中的Log Writer and Trace Listeners。这不是早期版本中的默认设置。2.ExceptionManager。添加通过Process方法接收默认值并返回值的功能。EntLibMicrosoft enterprise library 5.0学习方法第二阶段,使用VS2010数据访问模块构建多数据库项目现在,让我们转到企业库中最常用的模块Data Access模块。此模块封装数据库生产应用程序,从而简化了多数据库系统的开发,只需更改配置文件即可快速切换数据库访问(不幸的是,由于需要重写SQL语句,因此无法与ORM相比)。以下是配置企业库时出现的问题:如果没有这个问题,可以直接忽略(可能是小白)注:在此处切换数据库配置要求计算机上已安装相应的数据库访问模块。如果需要从MS SQL更改为SQLite数据库,则必须在计算机上安装SQLite数据库访问模块。在VS2008开发期间,计算机上已安装了SQLite数据库访问模块,但VS2010是新发布的。在“VS2010参照”对话框中,也可以访问安装在VS2008中的SQLite,但无法在企业库5.0配置器中查看SQLite。但是,在更改企业库的配置文件后,已确认无法访问SQLite数据库,并尝试了多种方法,因此,San医生在重新安装SQLite数据库访问模块后重新打开企业库配置器时,将看到SQLite数据库。因此,请确保要切换的数据库在企业库编辑器中可见。否则,将无法访问数据库。请看下图:回到正题。此次学习已推出2010和2010版,企业库5.0度。由于支持NET4.0,因此我们决定将企业库的学习方式设置为VS2010(请参阅。因为熟悉NET4的特点,所以公司的项目立即。无法移植到NET4.0。现在就练习吧)好了,现在开始第二阶段的学习。首先来看项目的结构:此项目使用伪MS PetShop体系结构。如果不了解此体系结构,可以查看PetShop的系统体系结构设计其中DAL和DALSQLite层对应于MS SQL和SQLite数据库,Helper是整个项目的辅助对象现在具体了解一下戴尔层Helper、iDAL、enterprise mon和enterprise library。dal层次中引用了Data中的四个条目。helper项目具有用于导入当前数据对象的DBHelper.cs。代码如下所示(采用C#4.0语法属性,默认参数,数据库对象名称默认为空):这将调用企业库主数据库对象,并允许您在调用时指定值。这将基于传播的数据库对象名称创建数据库。此参数使您可以将最初需要重新加载的两个方法合并为一个方法。):View sourceprint?01using Microsoft . practices . enterprise mon . configuration;02using Microsoft . practices . enterprise library . data;0304Namespace EntLibStudy。Helper0506Public static class DBHelper0708/09/导入数据库对象10/11/数据库实例名(默认name为空,调用默认数据库实例)12/数据库对象13public static database create database(string name= )1415/return database factory . create database(name);16return enterpriselibrarycontainer . current . get instance(name);171819在DAL层次中,引用Helper以导入数据库对象并执行数据库操作。现在,让我们看一下特定数据库访问类编写代码。学生工作班:View sourceprint?001Using System002using system . collections . generic;003Using System。Data004Using System。Data . Common005Using System。Linq006Using System。Text00700

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论