32 votes

Prise en charge de la mise en cache .NET 4

Je comprends que le .NET 4 Framework intègre une prise en charge de la mise en cache. Quelqu'un at-il une expérience dans ce domaine ou pourrait-il fournir de bonnes ressources pour en apprendre davantage à ce sujet?

Je fais référence à la mise en cache d'objets (entités principalement) en mémoire, et probablement à l'utilisation de System.Runtime.Caching.

27voto

Jodrell Points 14205

Je suppose que vous êtes l'obtention de cette, System.Runtime.Caching, similaire à l' System.Web.Caching , et de manière plus générale de l'espace de noms.

Voir http://deanhume.com/Home/BlogPost/object-caching----net-4/37

et sur la pile,

est-il-quelque-sorte-de-cachedependency-dans-le système d'exécution de la mise en cache et,

les performances du système à l'exécution, la mise en cache.

Pourrait être utile.

15voto

Mike Goatly Points 1925

Je n'ai pas fait usage de moi-même, mais si vous êtes juste de la mise en cache des objets simples dans la mémoire, vous êtes probablement référence à la MemoryCache classe, dans le Système.Moment de l'exécution.La mise en cache de l'espace de noms. Il y a un petit exemple de comment l'utiliser à la fin de la page.

Edit: pour la faire ressembler À ce que j'ai effectivement fait un peu de travail pour répondre à cette question, voici l'échantillon à partir de cette page! :)

private void btnGet_Click(object sender, EventArgs e)
{
    ObjectCache cache = MemoryCache.Default;
    string fileContents = cache["filecontents"] as string;

    if (fileContents == null)
    {
        CacheItemPolicy policy = new CacheItemPolicy();

        List<string> filePaths = new List<string>();
        filePaths.Add("c:\\cache\\example.txt");

        policy.ChangeMonitors.Add(new 
        HostFileChangeMonitor(filePaths));

        // Fetch the file contents.
        fileContents = 
            File.ReadAllText("c:\\cache\\example.txt");

        cache.Set("filecontents", fileContents, policy);
    }

    Label1.Text = fileContents;
}

C'est intéressant, car il montre que vous pouvez appliquer les dépendances dans le cache, tout comme dans le classique ASP.NET le cache. La grande différence ici est que vous n'avez pas de dépendance sur le Système.Web de l'assemblée.

2voto

Kishore Borra Points 198

J'espère que vous faites référence à System.Runtime.Caching de .Netframework 4.0

Le lien ci-dessous est le bon point de départ: ici

0voto

AD.Net Points 8444

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X