- 浏览: 475898 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1028)
- [发布至博客园首页] (826)
- [随笔分类]个人生活随笔 (14)
- [网站分类]首页候选区 (26)
- [网站分类]SharePoint (15)
- [网站分类]其他技术区 (6)
- [随笔分类]批处理技巧 (6)
- [随笔分类].net 2.0 (3)
- [随笔分类]SharePoint2007(MOSS2007) (0)
- [网站分类].NET新手区 (6)
- [网站分类]ASP.NET (6)
- [网站分类]架构设计 (18)
- [网站分类]程序人生 (2)
- [网站分类]SQL Server (2)
- WCF (3)
- 编程技巧 (2)
- 模式架构 (2)
- 分析设计 (4)
- 生活随笔 (0)
- 软件工程 (1)
- Android实例 (2)
最新评论
-
zilong0536:
楼主您好:
请问发表博文支持图片的功能怎么实现啊,一直没有思路 ...
新浪微博开放平台开发-android客户端(3) -
nicegege:
小弟 学习了
帮助中国移动设计10086的排队小模块 -
zl7824516:
用什么技术没说啊
通告(公告),消息(站内短信),提醒的设计:通告 -
virusswb:
源码下载: SinaWeibo2 源码下载之后,将后缀改为ra ...
新浪微博开放平台开发-android客户端(3) -
Jimmyxu0311:
找不到源码下载
新浪微博开放平台开发-android客户端(3)
配置缓存模块使用数据库作为后端存储
1) 在CacheManager节点上点击右键,选择新建【Database Cache Storage】
2)在配置中自动加入数据访问模块的配置信息
3)点击Data Cache Storage节点,右侧的DatabaseInstance属性显示的是数据库连接字符串的名称,它和数据访问配置中的一个配置关联的,
你可以通过输入或者下来来选择一个数据访问配置。可以重新命名Name属性。
4)设置PartitionName属性,这个标识在CacheManager中将会使用。
通过在CacheManager上的右键菜单,可以选择新建其他类型的后端存储。
注意点:缓存配置的属性值应该考虑缓存使用的模式,和系统的环境,例如,内存的容量。如果大量使用缓存,是很消耗内存的,会导致内存紧张。
可以通过模块计数器来帮助调整缓存的配置参数值。
缓存配置的xml结构
下面介绍缓存配置的xml文件结构,你可以手动修改xml文件,但是企业库的配置工具可以大大减少这些配置工作。
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<dataConfiguration defaultDatabase="Connection String" />
<connectionStrings>
<add name="Connection String" connectionString="Database=Database;Server=(local)\SQLEXPRESS;Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
</connectionStrings>
<cachingConfiguration defaultCacheManager="MyCacheManager1">
<cacheManagers>
<add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000"
numberToRemoveWhenScavenging="10" backingStoreName="Null Storage"
type="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="Cache Manager" />
<add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000"
numberToRemoveWhenScavenging="10" backingStoreName="Data Cache Storage"
type="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="MyCacheManager1" />
</cacheManagers>
<backingStores>
<add databaseInstanceName="Connection String" partitionName="CacheManager1"
encryptionProviderName="" type="Microsoft.Practices.EnterpriseLibrary.Caching.Database.DataBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching.Database, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="Data Cache Storage" />
<add encryptionProviderName="" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="Null Storage" />
</backingStores>
</cachingConfiguration>
</configuration>
在应用中使用缓存模块
准备环境:
1、 添加对Microsoft.Practices.EnterpriseLibrary.Caching.dll程序集的引用
2、 添加对Microsoft.Practices.EnterpriseLibrary.Common.dll程序集的引用,里面包含了企业库的核心内容,一些通用的功能
3、 添加对Microsoft.Practices.ObjectBuilder2.dll程序集的引用
4、 如果使用数据库作为后端存储,需要添加对Microsoft.Practices.EnterpriseLibrary.Data.dll和
Microsoft.Practices.EnterpriseLibrary.Caching.Database.dll程序集的引用
5、 如果需要加密缓存中的数据,需要添加对Microsoft.Practices.EnterpriseLibrary.Caching.Cryptography.dll和Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dll程序集的引用
6、 然后再代码中导入下面的命名空间
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;
using Microsoft.Practices.EnterpriseLibrary.Caching;
通常,用两步就可以开始用缓存功能了。
1) 创建CacheManager
2) 使用CacheManager中对应的方法
/*
* Created by SharpDevelop.
* User: haier
* Date: 2010-4-21
* Time: 22:33
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;
using Microsoft.Practices.EnterpriseLibrary.Caching;
namespace BeautyCode.ConApp
{
public class Goods
{
public string ID{get;set;}
public string Name{get;set;}
public int Price{get;set;}
}
public class CachingTest
{
public static void Test()
{
ICacheManager goodsCache=CacheFactory.GetCacheManager();
string id="001";
string name="seed";
int price=100;
Goods goods=new Goods();
goods.ID =id;
goods .Name=name;
goods .Price=price ;
goodsCache .Add(goods .ID,goods ,CacheItemPriority .Normal ,
null,new SlidingTime (TimeSpan.FromMinutes (5)));
//Retrieve the item
goods =(Goods )goodsCache .GetData (id );
}
}
}
上面的代码演示了,用工厂方法创建CacheManager,然后调用Add方法添加数据到缓存,使用GetData方法从缓存中获取数据,
获取之后别忘了进行类型转换。
选择后端存储
每个CacheManager都可以配置为只在内存中存储数据,意味着它不使用任何后端存储,也可以配置为及使用内存,也使用持久化的存储。
持久化的形式在配置后端存储的时候指定。后端存储保证了,如果应用必须要重启的话,缓存的数据还可以存活,也就是重启之后缓存的数据不会丢失。
默认情况下,企业库的缓存模块支持两种形式的后端存储。
1) 独立的后端存储
2) 数据库的后端存储
如果你需要在多个服务器的情况下使用缓存,例如服务器场环境,后面我们会讲到。
开发者可以扩展缓存模块,来支持额外形式的后端存储。
一个应用可以使用多个缓存,每个缓存通过一个配置的CacheManager作为代理。企业库的缓存模块不支持多个CacheManager使用同一个后端存储。
但是一个应用的多个CacheManager可以使用相同的partition name。
1、使用空后端存储
空后端存储是默认的选项,它不持久化缓存的数据。意味着数据只存在于内存中,这种形式适用于你想在重启应用之后更新缓存中的数据。
它被所有的应用支持。
2、使用独立存储作为后端存储
适用于下面的情况
1) 需要持久化存储,但是用户量较少
2) 使用数据库会超出经费预算
3) 没有数据库设施
3、使用数据库作为后端存储
使用数据访问模块,可以将缓存的数据放在数据库中。默认情况,缓存模块包含一个创建缓存需要的数据表结构的脚本,支持SQL Server数据库。
开发者可以使用其它的数据库作为后端存储,但是需要修改模块的源代码。每一个数据库类型,必须在数据访问模块中包含一个数据库provider,和一个兼容的表结构。
未完待续。。。。。。。。。。。。。。。。。。。。。
发表评论
-
NET 应用架构指导 V2 学习笔记(十六) 服务层设计指导
2010-06-04 00:13 527如果你的应用是通 ... -
NET 应用架构指导 V2 学习笔记(十七) 组件设计指导
2010-06-05 00:48 628组件提供了一种将 ... -
NET 应用架构指导 V2 学习笔记(十八) 表现层组件设计指导
2010-06-05 21:09 498本章讲述的是你在设计用户界面组件和表现层逻辑组件的时候应该 ... -
NET 应用架构指导 V2 学习笔记(十九) 表现层组件设计指导
2010-06-06 06:15 5605 决定数据绑定的 ... -
NET 应用架构指导 V2 学习笔记(二十) 业务组件设计指导
2010-06-07 06:58 582前言 业务组件 ... -
微软企业库5.0学习笔记(四十二)异常处理模块
2010-06-14 00:04 808企业库的异常处理 ... -
关于程序员在30岁、35岁之后怎么办的新思考
2010-06-14 10:40 598首先给大家问个好 ... -
NET 应用架构指导 V2 学习笔记(二十四) 跨层关注问题
2010-06-17 20:00 553概况 大部分的 ... -
微软企业库5.0学习笔记(四十三)数据验证模块
2010-06-19 08:07 967概况 任何接受用户或者是其他系统输入的应用,一定要确保 ... -
关于项目进度慢的思考----如何提高整体开发效率
2010-06-21 23:42 774我们都是软件行业 ... -
微软企业库5.0学习笔记(四十四)实战数据验证模块
2010-06-23 19:22 7971 在业务对象上添加验证 添加对程序集【Microso ... -
微软企业库5.0学习笔记(四十五)实战数据验证模块----高级篇
2010-06-24 19:41 9511、添加自定义的提示信息 验证失败的提示信息可以自定义 ... -
面向对象类设计的五大原则(一)单一职责原则Single Responsibility Principle
2010-06-29 15:45 739引言 面向对象类设计,或者说是面向对象设计,有五大原则 ... -
《深入浅出设计模式-中文版》读书笔记 开篇乱弹(一)
2010-07-01 06:42 624oreilly的《Head.First ... -
《深入浅出设计模式-中文版》读书笔记-继承与组合(三)
2010-07-03 16:53 581经过上一次的改造 ... -
《深入浅出设计模式-中文版》读书笔记-观察者模式(四)
2010-07-06 06:34 605今天要接触的是观 ... -
利用attribute实现简单的ORM
2010-07-09 15:27 649我不知道NH的ORM具 ... -
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
2010-07-14 13:02 790题外话 最近已经在努力学习了,学习基本功,学习设计模式 ... -
《深入浅出设计模式-中文版》读书笔记-工厂模式(五)
2010-07-16 12:46 671今天给大家带来的是:工厂模式。 我们在代码中创建一个对 ... -
Head.First.Object-Oriented.Design.and.Analysis《深入浅出面向对象的分析与设计》读书笔记(一)
2010-07-18 21:47 640题外话 又是一本Head.First系列的书,这个系列 ...
相关推荐
3 - Enterprise Library 的设计 (100%, 移植中) 4 - 部署 Enterprise Library (100%, 移植中) 5 - 扩展 Enterprise Library (0%) 6 - 与 Enterprise Library 一起使用组策略和 WMI (0%) 7 - 缓存应用程序块 (100...
Microsoft Enterprise Library 4.1(企业库)验证模块,Enterprise Library 4.1中文帮助文档,各种验证方法、参数说明。
2017Andrew NG Deeplearning Coursera深度学习笔记v4.1
DMA/Bridge Subsystem for PCI Express v4.1 读书笔记 (中文) XDMA 参考文档:PG195, https://github.com/Xilinx/dma_ip_drivers, https://support.xilinx.com/s/article/65443?language=en_US XDMA IP核的中文...
Framework 3.5 开发一套企业库,目前最新版本为 v4.1,共包括 9 个 Application Block,包括 数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、 数据验证...
NULL 博文链接:https://ghl116.iteye.com/blog/1184028
Enterprise Library4.1安装包下载
MVC3+EF4.1学习系列(一)创建EF4.1_code_first
Coursera深度学习笔记v4.1.rar。学习交流使用,勿做商业用途!
最新版 Enterprise Library 企业库 V4.1 中文学习手册
CISCO ACS 4.1搭建笔记总结:自己总结,自己安装,自己做笔记!希望能帮助大家!
Java课程所有学习笔记4.1.md
Ex_DUI 4.1 学习笔记之简单仿未闻花名第五期盒子UI
Domain4.1(明小子)0520更新版数据库加强版.rar 两个库文件都很多 80-65-519以上
Enterprise Library 企业库 V4.1 中文学习手册与前面上传的part1是一起的,可用于ELB5.0 的学习
最新版 Enterprise Library 企业库 V4.1 中文学习手册,与最新版的ELB5.0基本一样,ELB5.0只是代码的重写。