关闭

企業類庫之Caching Application Block (一)

986人阅读 评论(0) 收藏 举报

 

配置文件

<?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;
            }

        }

    }

}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:223660次
    • 积分:3683
    • 等级:
    • 排名:第9120名
    • 原创:131篇
    • 转载:33篇
    • 译文:0篇
    • 评论:43条
    最新评论