TerryLee技术专栏
练习2:持久缓存
该练习将示范如何持久缓存。
第一步
打开EmployeeBrowser.sln 项目,默认的安装路径应该为C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Caching\exercises\ex02\begin,并编译。
第二步 实现离线缓存
1.在解决方案管理器中选择EmployeeServices.cs文件,选择View | Code菜单命令并添加如下命名空间。
2.定位到GetContactDetails方法,并添加如下代码。
3.修改方法GetEmployeePhoto为如下代码,即离线时不尝试去获取信息。
第三步 配置持久缓存
1.在解决方案管理器中选择项目EnoughPI的配置文件App.config文件,选择View | Open With…菜单命令,选择Enterprise Library Configuration并单击OK按钮。
2.选择Caching Application Block | Cache Managers | Cache Manager节点,选择Action | New | Isolated Storage菜单命令。
3.设置属性PartitionName为EmployeeBrowser。
PartitionName允许多个缓存共享相同的物理存储位置。
4.保存应用程序配置。
第四步 运行应用程序
1.选择Debug | Start Without Debugging菜单命令运行应用程序。浏览少量的雇员信息employees加载到缓存中,不要浏览所有的雇员信息。
2.在解决方案管理器中选择ConnectionManager.cs,选择View | Code菜单命令,在下面的代码中修改IsOnline属性的值。
3.选择Debug | Start Without Debugging菜单命令运行应用程序。现在应用程序处于离线状态并没有连接数据库。
4.关闭应用程序和Visual Studio.NET。
更多Enterprise Library的文章请参考《Enterprise Library系列文章》
posted on 2006-10-09 00:24 TerryLee 阅读(2681) 评论(12) 编辑 收藏 所属分类: Enterprise Library
自定义实体类该如何缓存到数据库?如何做关联? 回复 引用 查看
@Leonic 这跟上面的示例没多大区别吧? 回复 引用 查看
什么东西啊,我先问问你,你自己懂吗,写的什么玩意,没一点前后逻辑,拿着别人的东西抄过来看都不看,负点责任行不行?要么就在这儿丢人,什么玩意! 回复 引用 查看
我在网站里面使用Enterprise Library 2.0的缓存,如果使用Isolated Storage,把缓存内容保存在磁盘上,在自己的机器上运行正常,但放在网上时出错: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ApplicationException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) 在web.config下加上如下面的 <identity impersonate="true" userName="administrator" password='123456' /> 这是超级管理员,然而还是报错: 无法创建存储区目录。 (异常来自 HRESULT:0x80131468) 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.IsolatedStorage.IsolatedStorageException: 无法创建存储区目录。 (异常来自 HRESULT:0x80131468) 这是为什么?在自己的机器上跑一点问题都没有,在服务器上,用他浏览本地的网站它也报这些错误,为什么,缓存为什么不能用呢?Enterprise Library 2.0的缓存把内容 存到哪个地方去了? 回复 引用 查看