配置文件
<?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, null, new 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;
}
}
}
}

浙公网安备 33010602011771号