企业库(Enterprise Library)是微软的模式与实践(Patterns & Practices)的下一代应用程序块(Application Blocks)。该企业库的设计思想是为了协助开发商解决企业级应用开发过程中所面临的一系列共性的问题, 如安全(Security)、日志(Logging)、数据访问(Data Access)、配置管理(Configuration Manage)等,并将这些广泛使用的应用程序块集成封装至一个叫企业库的程序包中。 通过这些程序块,可以解决共性的企业级开发过程中所面临的问题。使用新的设计理念整合应用程序块,使得各应用程序块具有重用性、一致性、扩展性、易用性、集成性。

尽管.NET平台已经提供一套满足稳健程序开发的功能强大的工具和类库,但我还是经常被微软推出的其它额外免费的附加类库所惊奇。在我看来,最为值得注意就是企业库(Enterprise Lib

rary)。这套由 模式与实践组(Patterns and practices group)开发的程序模块应用最为有效的方法来解决日常出现的错误,由此可以缩短开发时间和减少相应的费用。在本周栏目中,我们将深入了解企业库。

概述

 

概述是微软在企业库各个组件中给出的最开始部分。以往的组件是以独立发行的方式设计,然而这一方法的问题是,每一个程序模板都包含处理所有任务的自身代码。使用企业库就完全解决这些模板的冗余性。企业库将每一程序模块集成为一个相互关联的单元。每一个程序模块使用类似的设计模式,比如共享调配和配置规范。企业库包括以下七个程序模块:

  • 缓存(Caching)允许开发人员在程序中合并一个本地缓存器。
  • 配置(Configuration): 允许程序读入和编写配置信息。
  • 加密(Cryptography)允许开发人员在程序中使用加密技术和信号功能。
  • 数据访问(Data Access)允许开发人员在程序中使用标准的功能。
  • 异常处理(Exception Handing)允许开发人员和规范制定者建立一套用于处理异常的统一策略。
  • 日志和规范应用程序(Logging and Instrumentation)允许开发人员在程序中加入日志和规范应用程序。
  • 安全性(Security)允许开发人员在程序中包括安全性功能。程序可以在不同的情况下使用到安全性,比如鉴别和批准用户访问数据库,获得任务信息,以及缓存用户信息。

企业库能够下载并自动安装在机器中,由此,通过点击一次鼠标,就可以安装和编译整个企业库。安装之后,企业库将包括所有类库组件,并包含清楚演示每一程序模块功能的QuickStart。通过QuickStart,你可以很容易地弄清楚每一模块的位置及使用方法。

除此之外,每一程序块都在性能计数、事件日志以及WMI (Windows Management Instrumentation)应用到规范应用程序,所以你可以很容易地监视每一应用程序,包括诊断所有可能出现的问题。

安装过程

一旦下载并安装企业库,你的机器上已经拥有了一套全新的工具。请注意,在安装过程中,你可以根据自己的需要来选择程序模块。缺省安装路径为:c:\Program Files\Microsoft Enterprise Library,并且Windows的程序菜单将增加Microsoft patterns & practices入口。这一菜单能够访问每一程序块以及QuickStart。此外,这一菜单可用于安装/删除一些相关的功能,以安全数据库控制台工作,查看文档,以及以GUI方式工作等。

程序模块在XML配置文件中保存相关数据,这些XML文件包括web.config (Web程序)或者app.config (桌面程序)。程序块的老版本只能以手工方式处理这些文件,但现在推出的新版本已经包括一个可视化界面来处理XML文件。

配置与部属

由企业库源代码编译生成的程序集并非为强命名(Strong Named),所以程序集将无法安装在全局程序集缓冲区GAC(Global Assembly Cache),而且也没有强命名程序集的相关功能。

可以在程序路径中编译和配置程序块。这可以简化配置过程,因为可以通过复制命令安装所有程序,包括程序集。

然而,如果在同一机器上有多个程序使用到企业库的程序块,你必须在每一程序文件夹下备份一个程序集。如果你实在需要多种程序,你可以使用一个具有特征意义的名称给程序集命名。这样你就可以将程序集放置在GAC并对其配置。总而言之,当部属程序时,你必须考虑到以下几点:

  • 如果企业库dll文件没有存储在GAC中,那么它们已经分布在程序的bin路径。
  • 虽然app.config或者web.config能够自动被配置,其它的config文件则需要一些手动步骤。你必须人为地将它们复制到程序的Bin路径。在默认情况下,它们都在程序的根目录下建立并配置。

提高你的程序

企业库为.NET框架提供了一套功能强大的附加工具。这些设计优秀和通过测试的程序模块都可以用于提高和加强当前或未来的程序。你可以很容易地执行日志和缓存,简化数据库连接以及异常管理。

这里给出的仅仅是企业库的冰山一角。如果你以前没有使用到企业库,那么马上下载并安装它。以后我们将在范例程序中使用到部分的企业库。

这里学习企业库:http://space.zdnet.com.cn/html/05/250805-1340.html

转载于:https://www.cnblogs.com/aaa6818162/archive/2009/05/07/1452000.html

微软企业库 简介(转)相关推荐

  1. [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...

    本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介.用途.使用方法.默认提供的多种验证器的介绍等. 一.简介及用途 在实际的项 ...

  2. 基于微软企业库的AOP组件(含源码)

    软件开发,离不开对日志的操作.日志可以帮助我们查找和检测问题,比较传统的日志是在方法执行前或后,手动调用日志代码保存.但自从AOP出现后,我们就可以避免这种繁琐但又必须要实现的方式.本文是在微软企业库 ...

  3. [EntLib]微软企业库5.0 学习之路——第七步、Cryptographer加密模块简单分析、自定义加密接口及使用—上篇...

    在完成了后,今天开始介绍企业库中的新模块:Cryptographer(加密模块),这个模块在日常的大多数项目的作用非常重要,例如:网站会员密码.身份证号.网站配置等,通过对信息进行加密可以保证项目数据 ...

  4. (转)[EntLib]微软企业库5.0 学习之路——第十步、使用Unity解耦你的系统—PART2——了解Unity的使用方法(1)...

    原文地址:http://www.cnblogs.com/kyo-yo/archive/2010/11/01/Learning-EntLib-Tenth-Decoupling-Your-System-U ...

  5. 使用Microsoft EnterpriseLibrary(微软企业库)日志组件把系统日志写入数据库和xml文件...

    这里只是说明在项目中如何配置使用微软企业库的日志组件,对数据库方面的配置请参考其他资料. 1.在项目中添加Microsoft.Practices.EnterpriseLibrary.Data.dll. ...

  6. 微软企业库mysql分页存储_使用微软企业库,非分页sql语句得到分页数据方法

    最近使用微软企业库,在做分页绑定的时候发现好象还没有多少通用的方法.为了灵活和换数据库,我不能使用存储过程.为了开发速度最快.我就是用datagrid绑定了. 以前长用的 DataAdapter.Fi ...

  7. 让微软企业库中的Email Trace Listener使用需要身份验证的SMTP服务器

    微软企业库中的日志记录模块中有个Email Trace Listener.对于将网站部署到异地的应用来讲,这是一个非常有效的功能.因为我们可以通过电子邮件查看日志,进而了解我们开发的程序错误出现在何处 ...

  8. 微软企业库(Microsoft Enterprise Library Data Access Block)

    1. Dynamic-link library Microsoft.Practices.ObjectBuilder.dll Microsoft.Practices.EnterpriseLibrary. ...

  9. 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持

    在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...

最新文章

  1. Python的常用包有哪些,分别有什么作用?
  2. phpcms V9利用num++实现多样形式列表标签调用
  3. easyui 删除指定行
  4. tinypdf虚拟打印机中文版
  5. 【AWSL】之Linux引导过程及服务控制(MBR、GRUB、runlevel、systemcl、init、ntsysv、chkconfig)
  6. 聊天ListView使用ViewHolder
  7. python实现knn算法鸢尾花_Python学习之knn实现鸢尾花分类
  8. 收藏 | 机器学习领域必知必会的12种概率分布(附Python代码实现)
  9. java设计与模式_设计模式《JAVA与模式》之状态模式
  10. 修改ASM磁盘组冗余模式(一):copy-switch方式
  11. 封装的ini文件类。保存为unicode的。解决delphi xe的TiniFile保存后不为unicode的问题...
  12. 深度学习视觉目标跟踪算法毕业论文【matlab】
  13. 国科大-刘莹-数据挖掘-第一次作业后总结-纯干货
  14. picgo图片上传踩坑
  15. 纽约:高速Wi-Fi将进入大街小巷 时时刻刻可无线上网
  16. ae导出html,动画还原100%-AE一键导出
  17. Mysql客户端navicat的使用并连接远程数据库【重点】
  18. 使用VSCode创建一个Vue项目
  19. HTML5期末大作业:个人网站设计——拾艺客个人设计工作室(6个页面) HTML+CSS+JavaScript...
  20. Linux Hadoop常用命令行,持续更新...

热门文章

  1. MAUI 原生APPI18N多语言解决方案
  2. 计算机vfp等级考试用书,全国计算机等级考试教材系列:全国计算机等级考试(2级Visual FoxPro语言)精讲精练...
  3. php英文排序,求写php英文排序
  4. 「將音樂放在自然中,將自然放在心中」
  5. Jenkins详细安装配置部署--超详细
  6. 2.SQC概念和方法
  7. 如何展示您的数字作品集:来自创意招聘人员的建议
  8. 地籍cad的lisp程序大集合_几个CAD很有用的lisp程序
  9. Python游戏之Pygame——太空飞机大战(四)
  10. 三十、Hive的数据类型以及常用的属性配置