版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DEV 251企业程序库2.0介绍历史应用程序块是可复用、可扩展、源代码公开的组件。提供了对开发中常见问题的指导。企业程序库包含了7个通用模块缓存,配置,Cryptography,数据访问,例外处理,日志和基本工具,安全着重于一致性,扩展性,易用性和集成最初为.NET Framework 1.1设计。于2005年1月首次发布,2005年6月更新。p&p 企业程序库企业程序库的生态系统合作伙伴的应用程序块客户的应用程序块社团的应用程序块p&p应用程序块合作伙伴甲的程序库客户乙的程序库客户丙的程序库应用程序块规范企业程序库 Enterprise Library是什么?是由应用程序块组成的库,来解决
2、常见问题是一组可以工作在任何架构中的帮助类可以参考源代码中的架构设计,并进行修改或扩展免费下载使用不是什么?不是.NET Framework的一部分不是一个应用程序框架强制某种软件架构不是微软的一个产品,没有官方技术支持、兼容性保证、本地化服务不是用来销售的Enterprise Library for .NET Framework 2.0企业程序库一个重要的新版本First .NET Framework 2.0 release in January 2006为Microsoft .NET Framework 2.0而设计平衡了平台所提供的关键的新特性企业程序库1.x版本的几个特性由于平台而废弃
3、了主要的场景和特性没有改变公开的应用编程接口(APIs)不完全一致,仅做了很小改动但是内部做了很大的改进!企业程序库1.X到2.0的主要变化配置(Configuration)构建在System.Configuration基础上配置(Configuration)应用程序快不复存在有没有配置文件都可以轻松使用应用程序块Instrumentation configurable and disabled by default日志(Logging)应用程序块有很大提高灵活性和性能数据访问(Data Access)应用程序块使用更简单,功能更强大使用OLE-DB, Open Database Connec
4、tivity (ODBC)或任何托管的Provider安全(Security)应用程序块的大部分被移除由于.NET的Membership和Profile特性而废除缓存Caching安全Security数据访问Data Access日志Logging例外处理ExceptionHandlingEnterprise Library for .NET Framework 2.0Plug-inConfigHelpers & DesignInstrumen-tationObjectBuilderCryptography核心Core应用程序块的依赖部分依赖CachingSecurityData Access
5、LoggingExceptionHandlingEnterprise Library for .NET Framework 2.0Plug-inConfigHelpers & DesignInstrumen-tationObjectBuilderCryptographyCoreBlock DependencyOptional ProviderDependency核心配置(Configuration)配置(Configuration)设计与工具 Design & ToolingInstrumentation对象构造器(Object Builder)CachingSecurityData Acce
6、ssLoggingExceptionHandlingEnterprise Library for .NET Framework 2.0Plug-inConfigHelpers & DesignInstrumen-tationObjectBuilderCryptographyCoreBlock DependencyOptional ProviderDependency例外处理( Exception Handling)的需求你需要一致的例外处理行为你需要例外处理的最佳实践不要因为疏忽而把敏感信息暴露给调用者用相应的例外(Exception)来包装或替换原始例外(Exception),并添加上下文信
7、息。你需要使添加例外管理的代码变得更简单例外处理(Exception Handling)应用程序块提供了简单的机制,使你能够一致的处理例外。通过定义“Exception Policies”将例外连接到一个处理动作上ApplicationException 类型的例外需要日志记录SqlClientException类型的日志需要被捕获后,包装成为一个DataLayerException类型的例外抛出SecurityException类型的日志需要被捕获后,替换为AccessDeniedException类型的例外抛出可以执行的动作日志用另外一个例外包装用另外一个例外替换创建自己的动作Except
8、ion Handling - ExampleTry some code that may throwCatch Ex As ExceptionIf ExceptionPolicy.HandleException(ex, “DataLayer”) _ Then ThrowEnd TryCachingSecurityData AccessLoggingExceptionHandlingEnterprise Library for .NET Framework 2.0Plug-inConfigHelpers & DesignInstrumen-tationObjectBuilderCryptogra
9、phyCoreBlock DependencyOptional ProviderDependency日志(Logging)的需求你需要记录业务和操作数据到不同的地方,并可以配置你需要提供追踪来支持产品的调试你需要提供审查来增加安全性你需要能够指定消息消息的走向,和他们的格式你需要能够讲消息日志到各种不同目标上日志(Logging)应用程序块提供简单的模式来记录事件日志Strongly typed, extensible log schema构建在System.Diagnostics之上由配置(Configuration)驱动 你可以在运行时指定什么样的消息记录到哪里.使用任何一个.NET Tr
10、aceListener, 包括EntLib formatter-aware listeners:EventLog, Database, Text File, MSMQ, E-mail, WMI, or create your ownTracer class lets you time key activities and correlate any enclosed eventsLogging - Examples Dim log As LogEntry = New LogEntry log.Message = “Your message here” log.Priority = 1 log.
11、EventId = 100 log.Categories.Add(UI) log.Categories.Add(Debug) Logger.Write(log)/ Or if you prefer one line.Customer cust = GetCustomer(123);/ Log the customer will call cust.ToString() for the log entryLogger.Write(cust, category, priority);CachingSecurityData AccessLoggingExceptionHandlingEnterpri
12、se Library for .NET Framework 2.0Plug-inConfigHelpers & DesignInstrumen-tationObjectBuilderCryptographyCoreBlock DependencyOptional ProviderDependency数据访问(Data Access)的需求一个简单有效的方式使用常用数据库开发时对多种数据库透明在逻辑数据库和物力数据库间搭建一座桥梁一种简单方式来调整和验证数据库配置设置数据访问(Data Access)应用程序块提供了简化的访问大多数ADO.NET特性的操作增强一致性编写的代码可以工作在多种品牌的
13、数据库上增强了易用性用一行代码就可以轻松调用存储过程让应用程序块来管理数据库连接的生命周期数据库连接字符串可存储在配置文件或特定代码中Data Access - ExamplesPublic Function GetProductsInCategory(ByRef Category As Integer) As DataSet Create the Database object, using the database instance with the specified logical name. This is mapped to a connection string in the c
14、onfiguration file Dim db As Database = DatabaseFactory.CreateDatabase(Sales) Invoke the stored procedure with one line of code! return db.ExecuteDataSet(GetProductsByCategory, Category) Note: connection was closed by ExecuteDataSet method call End Functionpublic Dataset GetProductsInCategory(string
15、connectionString, int category) / Create the Database object, using the specified connection string SqlDatabase db = new SqlDatabase(connectionString); / Invoke the stored procedure with one line of code! return db.ExecuteDataSet(GetProductsByCategory, category); / Note: connection was closed by Exe
16、cuteDataSet method call CachingSecurityData AccessLoggingExceptionHandlingEnterprise Library for .NET Framework 2.0Plug-inConfigHelpers & DesignInstrumen-tationObjectBuilderCryptographyCoreBlock DependencyOptional ProviderDependency缓存(Caching)场景你创建了一个职能客户端程序,它使用本地缓存的数据来增加响应和支持离线操作你构建的应用程序要求缓存的数据在程序重
17、启以后仍然可用注意:ASP.NET缓存(System.Web.Caching)可用于多种类型的应用程序。如果不要求缓存数据的持久化,ASP.NET缓存通常来说是更佳的选择缓存(Caching)应用程序块提供了一个灵活的、可扩展的缓存机制。可用于任何层面的应用支持后端存储来持久化缓存数据到数据库或者独立存储中。所以,数据可以在应用重启后仍然可用易用配置简单。企业程序库配置工具(Enterprise Library Configuration Tool)线程安全确保内存中的数据和后端存储的一致性CachingSecurityData AccessLoggingExceptionHandlingEn
18、terprise Library for .NET Framework 2.0Plug-inConfigHelpers & DesignInstrumen-tationObjectBuilderCryptographyCoreBlock DependencyOptional ProviderDependencyCryptography 场景在存储前,你需要使用对称密钥对敏感数据进行加密;并在读取时进行解密单机环境,你需要不用密钥就对对信息进行加密你只需要存储密码的哈希值,并比对用户提供的密码哈希值。这样你不需要存储密码原文。Cryptography 应用程序块增强安全性提供简单的方法来实现常见
19、的cryptography场景增强易用性提供了针对字符和字节流的操作CreateHashCompareHashEncryptSymmetricDecryptSymmetric更加完善支持所有的.NET提供的加密算法,或自己实现的算法支持DPAPI而实现单机的无密钥加密可以通过配置文件管理算法和密钥CachingSecurityData AccessLoggingExceptionHandlingEnterprise Library for .NET Framework 2.0Plug-inConfigHelpers & DesignInstrumen-tationObjectBuilderCryptographyCoreBlock DependencyOptional ProviderDependency安全场景你需要给用户授权使用一种或多种安全系统或机制在一个登陆的会话期间,你需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工添加剂生产工岗前规程考核试卷含答案
- 植保机械操作工岗位个人技能考核试卷含答案
- 云母制品工复试强化考核试卷含答案
- 井下采煤机司机岗中应急处理考核试卷含答案
- 2026年11月门店导购话术年终标准化培训计划
- 职业发展规划与工作展望
- 北城健康推广
- 2026年全球及中国钠电产业发展白皮书
- 农业数字化技术员个人实习总结
- 保利广场项目加固工程安全专项施工方案-实施方案
- 物业积分管理办法细则
- DB43-T 2390-2022 小龙虾人工繁育技术规程
- JG/T 13-1999门式钢管脚手架
- 2024年云南省昆明市官渡区小升初数学试卷(含答案)
- 《PLC应用项目工单实践教程》课件 模块6 函数、函数块、数据块及应用
- 风力发电项目-强制性条文执行计划
- GB/T 44948-2024钢质模锻件金属流线取样要求及评定
- 备考2025高考物理“二级结论”精析与培优争分练讲义-01 共点力平衡(教师版)
- JBT 3341-2024 蓄电池托盘堆垛车(正式版)
- 涉密人员违规处罚
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.6.90885
评论
0/150
提交评论