




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年承德市宽城满族自治县(中小学、幼儿园)教师招聘试题及答案
- 2025年信息系统项目角色定位试题及答案
- 2025年公共关系学特训课程试题及答案
- 2025年基层医疗机构院感防控管理能力提升培训考核试题及答案
- 2025年绵阳市公需科目考试题及答案
- 品牌形象与品牌社会责任感考核试卷
- 集成开发环境(IDE)选择与应用考核试卷
- 医疗器械的再利用与环保材料选择考核试卷
- 招牌标志管理办法
- 政府印章管理办法
- JG/T 231-2018建筑玻璃采光顶技术要求
- T/CECS 10330-2023抗污易洁氟碳涂层金属板
- 成都锦华药业有限责任公司生物制药改(扩)建项目环评报告
- 液碱泄漏应急处置培训
- 2025至2030年中国螺旋藻制剂行业投资前景及策略咨询研究报告
- 工伤误工赔偿协议书
- 《四川天府新区直管区国土空间总体规划(2021-2035年)》
- 摄影作品授权协议书
- 父子借款购房协议书
- 绿化补植合同协议书
- 小学金融知识小课堂课件
评论
0/150
提交评论