微软企业库5.0 学习之路——第十步、使用unity解耦你的系统—part5——使用unity自身的拦截器

微软企业库5.0 学习之路——第十步、使用unity解耦你的系统—part5——使用unity自身的拦截器

ID:17998851

大小:47.46 KB

页数:7页

时间:2018-09-12

微软企业库5.0 学习之路——第十步、使用unity解耦你的系统—part5——使用unity自身的拦截器_第1页
微软企业库5.0 学习之路——第十步、使用unity解耦你的系统—part5——使用unity自身的拦截器_第2页
微软企业库5.0 学习之路——第十步、使用unity解耦你的系统—part5——使用unity自身的拦截器_第3页
微软企业库5.0 学习之路——第十步、使用unity解耦你的系统—part5——使用unity自身的拦截器_第4页
微软企业库5.0 学习之路——第十步、使用unity解耦你的系统—part5——使用unity自身的拦截器_第5页
资源描述:

《微软企业库5.0 学习之路——第十步、使用unity解耦你的系统—part5——使用unity自身的拦截器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、微软企业库5.0学习之路——第十步、使用Unity解耦你的系统—PART5——使用Unity自身的拦截器作者:HeroBeast  来源:博客园  发布时间:2010-12-2710:16  阅读:4次  原文链接  [收藏]  在前面的企业库学习之路里我分别使用了DataAccess构建多数据库访问和使用ExceptionHandle+Logging记录系统的异常。今天我来介绍下企业库中的Caching模块在本项目中如何应用。首先先补习下企业库的CachingApplicationBlock的相关知识:1、四大缓存方式,在Caching

2、ApplicationBlock中,主要提供以下四种保存缓存数据的途径,分别是:内存存储(默认)、独立存储(IsolatedStorage)、数据库存储(DataBaseCacheStorage)和自定义存储(CustomCacheStorage)。2、多种存储方式,抛开自定义存储不谈,内存存储是最基本的缓存,仅仅是将数据缓存到内存当中,虽然速度快但是无法进行持久化存储,而独立存储和数据库存储一个是存储到本地的磁盘中(视操作系统不同存储到不同的位置)而另一个则是存储到数据库中(方便进行分布式缓存),所以可以进行持久化保存不会因为关机而丢失

3、(可以到。在EntLib50SrcBlocksCachingSrcDatabaseScripts下找到脚本进行安装)3、优秀的易用性,虽然在.NET类库System.Web中已经提供了Cache类,但是有局限性,仅可适用于控制台、Winform、Web、服务等。4、安全性,企业库中的缓存模块可以和加密模块很好的结合起来,当适用数据库缓存、独立存储或者自定义存储的时候可以适用加密模块对缓存的数据进行加密,但存储到内存当中的数据就无法进行加密了。在了解了缓存的基本知识后我们就可以开始进行具体的操作了。我现在就是使用Cache模块为项

4、目中反射具体数据库DAL层对象实例进行缓存,这样不用每次在调用底层的时候都反射一次,只需在第1次反射后缓存,以后的访问直接从缓存中读取,提高了访问的速度。通过企业库配置工具添加个CachingSettings这里使用默认设置,保存到内存中,过期轮询时间,最大存储数量和移除数量都使用了默认的设置。如果不想使用默认的内存存储可以建立独立存储或者数据库存储。这里有个要提的就是企业库的缓存模块的数据库存储是使用存储过程来进行缓存与数据库之间的交互,但是本项目中使用了多数据库,如Sqlite,就无法支持存储过程,所以这边locatedintheTo

5、mb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcame需要自定义存储方式,可以直接查看企业库代码中Cache.DataBase.DataBackingStore.cs类,仿照DataBackingStore类自定义一个存储方式

6、,只不过在进行数据库交互的时候使用SQL语句进行。继续回到主题上,我这边写了一个简单的CacheHelper,用以操作缓存,其中我自定义了一个缓存刷新操作类(此类必须为可序列化),用于将已经过期的对象重新加入到缓存当中,代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingMicrosoft.Practices.EnterpriseLibrary.Caching;usingMicrosoft.Practices.Ent

7、erpriseLibrary.Caching.Expirations;usingMicrosoft.Practices.EnterpriseLibrary.Common.Configuration;namespaceEntLibStudy.Helper{publicstaticclassCacheHelper{//2种建立CacheManager的方式//ICacheManagercache=EnterpriseLibraryContainer.Current.GetInstance();privatesta

8、ticICacheManagercache=CacheFactory.GetCacheManager();///

///添加缓存//////
当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。