企业程序库的概述(ppt 46页).ppt_第1页
企业程序库的概述(ppt 46页).ppt_第2页
企业程序库的概述(ppt 46页).ppt_第3页
企业程序库的概述(ppt 46页).ppt_第4页
企业程序库的概述(ppt 46页).ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、DEV 205企业程序库(Enterprise Library),王筱东 战略合作伙伴技术经理 平台及开发技术部 微软(中国)有限公司,日程,企业程序库前世今生 企业程序库的7种武器 合作伙伴成功案例(中软融鑫) Q configData.Name = fontDialog.Font.Name; configData.Size = fontDialog.Font.Size; configData.Style = Convert.ToInt32(fontDialog.Font.Style); /write an object info to config file ConfigurationMa

2、nager.WriteConfiguration(EditorSettings, configData);,Public EditorFontData() Private string fontName; Private Double fontSize; Private Integer fontStyle; ,/ Read an object with multiple properties EditorFontData configData = ConfigurationManager.GetConfiguration(EditorSettings),Security,Crypto,Conf

3、iguration,Data Access,Logging,Caching,Exceptions,碧玉刀数据访问程序块,Config Tool,数据访问程序块大开大阖,对数据库访问提供了简单、高效的访问方式 屏蔽了对常用ADO.NET使用的复杂度,使用单条语句即可完成对存储过程的调用 为SQL Server, Oracle, DB2提供了统一的编程 当移植应用程序到不同数据库类型时,减少重写代码的数量 搭起了逻辑数据库与物理数据库间的桥梁,降低改变物理数据目标的难度 容易对数据库访问的配置信息进行调整和验证,数据访问程序块架构,数据访问程序块示例,Public Function GetProd

4、uctsInCategory(ByRef Category As Integer) As DataSet Create the Database object, using the default database service. The default database service is determined through configuration. Dim db As Database = DatabaseFactory.CreateDatabase() Invoke the stored procedure with one line of code! return db.Ex

5、ecuteDataSet(GetProductsByCategory, Category) Note: connection was closed by ExecuteDataSet method call End Function,Security,Crypto,Configuration,Data Access,Logging,Caching,Exceptions,长生剑异常处理程序块,Config Tool,异常处理程序块攻如风,守似磐,异常处理程序块为系统的不同层面提供了一致的例外处理策略 异常由配置工具进行定义和维护 不需要通过编码控制例外处理 定义 “异常策略”,可指定该策略发生时

6、的行为 将异常写入日志 用另外一个异常进行封装 采用不同的异常替代以便隐藏敏感的异常信息 创建自己的Handler ,提供附加的处理行为,异常处理程序块示例,DataSet customersDataSet try customersDataSet = RunQuery(“GetAllCustomers”); catch(Exception ex) string formattedInfo = FormatException(ex); Logging.Log(formattedInfo) Throw new DataAccessException(“Database access failur

7、e for query GetAllCustomers”,e) ,Without Exception Handling App Block,Security,Crypto,Configuration,Data Access,Logging,Caching,Exceptions,离别钩缓存程序块,Config Tool,缓存程序块心神合一,灵活的缓存机制可以用于以下各种类型的应用架构: Windows Forms Console application NT Service / COM+ Server ASP.NET Web application or Web service 支持两类缓存机制

8、: In-memory cache 非永久缓存,但性能很好 Backing store 永久性缓存, 但较慢 易于使用 提供了Cache处理需的所有功能 (添加,查询,删除) 可配置的过期策略,Security,Crypto,Configuration,Data Access,Logging,Caching,Exceptions,孔雀翎加密程序块,Config Tool,加密程序块第一暗器,简化了开发人员为敏感信息进行加解密工作 加解密任何类型(Stream/Byte)的信息 提高易用性(CreateHash / CompareHash) 支持多种加解密算法 支持所有.NET提供的加密算法 通

9、过DPAPI,对单台计算机上的信息进行无密钥加密 允许集成自己开发的加解密算法Provider 提高集成性 算法与密钥可以通过配置工具进行配置,Security,Crypto,Configuration,Data Access,Logging,Caching,Exceptions,多情环安全程序块,Config Tool,安全程序块人情色彩,帮助开发人员在应用程序中实现通用的安全相关任务 认证 授权 角色管理 Profile管理 简单的方法 Authenticate Authorize GetRoles SetProfile 基于应用安全的最佳实践,安全程序块架构,Security,Crypt

10、o,Configuration,Data Access,Logging,Caching,Exceptions,拳头日志程序块,Config Tool,日志程序块一切尽在掌握,提供简单标准一致的Logging机制 能灵活指定哪类信息以何种格式输出、输出到何处 实现了应用程序代码与日志策略的隔离 当前提供了以下日志输出: Event Log Database Text File MSMQ,Email WMI 自定义输出,日志程序块示例,Dim log As LogEntry = New LogEntry log.Message = “Your message here” log.Priority

11、= 1 log.EventId = 100 log.Category = Debug Logger.Write(log),/ Or if you prefer one line. Customer cust = GetCustomer(123); / Log the customer will call / cust.ToString() for the log entry Logger.Write(cust, Category, Priority);,配置企业程序库,日程,企业程序库前世今生 企业程序库的7种武器 合作伙伴成功案例(中软融鑫) Q & A,我们的应用,Red SMS Plat

12、form V3.0 短信服务平台,完成短信收发 SMS 系统管理助手 V1.0 Server Management System 助手,帮助用户完成如License管理等辅助功能,Red SMS Platform V3.0,小试牛刀 日志程序块 配置程序块,以前的做法,写类来完成文本文件写入 Logger.Write(string log)) 修改方法参数或在使用中不断增加重载方法以应变可能的使用情况 Write(p1)、Write(p1,p2)、 考虑如何将类对象序列化 自己处理XML文件的读写来读取和写入配置信息,现在的做法,学习相关知识Web Cast(1.5个小时) 研究示例Samples(1小时) 完成功能Red SMS Platform(10分钟),2小时40分,实现方法,Logger.Write(content),Logger.Write(LogEntry log) Logger.Write(object message, string category),11种重载方式!,SMS系统管理助手 V1.0,解决用户权限定义问题 安全程序块 配置程序块 加密程序块 数据访问程序块 日志程序块,安全程序块,代码量 & 编码时间,从企业程序库学到的,利用已有的成熟代码 形成企业或组织自己的组

温馨提示

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

评论

0/150

提交评论