配置文件
<?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;
}
}
}
}
本文介绍了一种基于Microsoft Enterprise Library的缓存管理系统配置方法,并通过示例演示了如何使用该系统进行数据缓存,包括添加、获取、更新和删除缓存项的操作。
748

被折叠的 条评论
为什么被折叠?



