企業類庫之Caching Application Block (一)

原创 2007年09月20日 20:52:00

 

配置文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  
<configSections>
    
<section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings,Microsoft.Practices.EnterpriseLibrary.Caching" />
  
</configSections>

  
<cachingConfiguration defaultCacheManager="Default Cache Manager">
    
<backingStores>
      
<add name="inMemory"
                type
="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching" />
    
</backingStores>

    
<cacheManagers>
      
<add name="Default Cache Manager"
                expirationPollFrequencyInSeconds
="60"
                maximumElementsInCacheBeforeScavenging
="1000"
                numberToRemoveWhenScavenging
="10"
                backingStoreName
="inMemory" />
      
<add name="Loading Scenario Cache Manager"
                expirationPollFrequencyInSeconds
="60"
                maximumElementsInCacheBeforeScavenging
="1000"
                numberToRemoveWhenScavenging
="10"
                backingStoreName
="inMemory" />
    
</cacheManagers>
  
</cachingConfiguration>
</configuration>

 

 使用程式

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Practices.EnterpriseLibrary.Caching;
using Microsoft.Practices.EnterpriseLibrary.Caching.Expirations;

namespace Demo001
{
    
public partial class Form1 : Form
    
{
        
private CacheManager cache = CacheFactory.GetCacheManager("Loading Scenario Cache Manager");
        
public Form1()
        
{
            InitializeComponent();
        }


        
private void button1_Click(object sender, EventArgs e)
        
{
            Prodect prodect 
= new Prodect(textBox1.Text, textBox2.Text, Convert.ToInt32(textBox3.Text));

            cache.Add(prodect.ProdectID, prodect, CacheItemPriority.Normal, 
nullnew SlidingTime(TimeSpan.FromSeconds(10)));
        }


        
private void button2_Click(object sender, EventArgs e)
        
{
            cache.Flush();
        }


        
private void button3_Click(object sender, EventArgs e)
        
{
            
try
            
{
                MessageBox.Show(((Prodect)cache.GetData(textBox1.Text)).ProdectName);
            }

            
catch (Exception Err)
            
{
                MessageBox.Show(Err.Message);
            }

        }


        
private void button4_Click(object sender, EventArgs e)
        
{
            cache.Remove(textBox1.Text);
        }


        
private void button5_Click(object sender, EventArgs e)
        
{
            MessageBox.Show(cache.Count.ToString());
        }

    }


    
class Prodect
    
{
        
private string ID;
        
private string Name;
        
private int Price;
        
public Prodect(string id, string name, int price)
        
{
            ID 
= id;
            Name 
= name;
            Price 
= price;
        }


        
public string ProdectID
        
{
            
get
            
{
                
return ID;
            }

        }

        
public string ProdectName
        
{
            
get
            
{
                
return Name;
            }

        }

    }

}

相关文章推荐

Microsoft Enterprise Library 5.0 系列(一) : Caching Application Block (初级)

本篇文章具体官方解释请参照以下链接: http://msdn.microsoft.com/en-us/library/ff664753%28v=PandP.50%29.aspx Microsof...
  • anyqu
  • anyqu
  • 2012年09月11日 13:25
  • 1043

About the Caching Application Block

About the Caching Application Block This topic has not yet been rated - Rate this topic   Abou...
  • lionzl
  • lionzl
  • 2012年06月20日 16:46
  • 534

entlib5.0 学习笔记 caching application block2 简单使用示例

entlib5.0 学习笔记 caching application block 简单使用示例1.使用示例2.参考资料及源代码下载1.简单使用示例 该简单示例不包含比较详细的配置信息(将在下面的笔记中...

Microsoft Enterprise Library 5.0 系列(一) Caching Application Block (高级)

Caching Application Block 的基本架构如下所示,图中很清楚的写出了Cache Manager可以使用3中方式对数据进行缓存: 1. Null backing store 存储...
  • anyqu
  • anyqu
  • 2012年09月11日 13:27
  • 640

Microsoft Enterprise Library 企业库5.0----Cryptography Application Block (高级)

本章介绍的是企业库加密应用程序模块Cryptographyproviders中为对称加密配置Key文件的3种方式: create a new key  : 使用一串字符串作为Key,然后通过加密保存...

[EntLib]微软企业库6 基于Data Access Application Block的Repository

名字起得有点夸张了,其实就是实现基于Data Access Application Block的DAL基类和约束 首先Repository部分没什么好描述的,如果有不了解的可以直接百度或者谷歌相关内容...
  • starfd
  • starfd
  • 2015年02月03日 17:12
  • 2257

微软企业库5.0 学习之路——第四步、使用缓存提高网站的性能(EntLib Caching)

在前面的企业库学习之路里我分别使用了Data Access构建多数据库访问和使用Exception Handle+Logging记录系统的异常。今天我来介绍下企业库中的Caching模块在本项目中如何...

Using Second Level Caching in a JPA Application

 Caching structurally implies a temporary store to keep data for quicker access later on. Second ...

Silverlight 3 Reduce XAP size by using application library caching 应用, 分包下载(转载)

Silverlight 3 Reduce XAP size by using application library caching 应用, 分包下载 最早使用 IsolatedStorag...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:企業類庫之Caching Application Block (一)
举报原因:
原因补充:

(最多只允许输入30个字)