64 votes

Différence entre HttpRuntime.Cache et HttpContext.Current.Cache ?

Quelle est la différence entre HttpRuntime.Cache et HttpContext.Current.Cache ?

64voto

Syed Tayyab Ali Points 1667

Je trouve le détail suivant dans http://theengineroom.provoke.co.nz/archive/2007/04/27/caching-using-httpruntime-cache.aspx

Pour la mise en cache, j'ai envisagé d'utiliser HttpContext.Current.Cache mais après avoir lire d'autres blogs, j'ai découvert que la mise en cache utilisant HttpContext utilise HttpRuntime.Cache pour réaliser la mise en mise en cache. L'avantage d'utiliser directement HttpRuntime est qu'il est toujours toujours disponible, par exemple, dans les Console et dans les tests unitaires. unitaires.

L'utilisation de HttpRuntime.Cache est simple. Les objets peuvent être stockés dans le cache et sont indexés par une chaîne de caractères. Avec une clé et l'objet à mettre en cache, l'autre paramètre important est le délai d'expiration. d'expiration. Ce paramètre définit le temps avant que l'objet ne soit retiré du cache.

Voici un bon lien pour vous.

Une autre bonne ressource.

19voto

Wayne Hartman Points 8701

La mise en cache à l'aide de HttpContext utilise HttpRuntime.Cache pour effectuer la mise en cache proprement dite. L'avantage d'utiliser directement HttpRuntime est qu'il est toujours disponible dans les applications en console et dans les tests unitaires.

1voto

Neel Points 2458

Utilisation de HttpRuntime.Cache est plus simple à utiliser que HttpContext.Current.Cache Comme nous l'avons déjà dit, les objets peuvent être stockés dans le cache et sont indexés par une chaîne de caractères. HttpRuntime ce disponible.

Voici un exemple à utiliser HttpRuntime.Cache .

public static XmlDocument GetStuff(string sKey) 
{
XmlDocument xmlCodes;
xmlCodes = (XmlDocument) HttpRuntime.Cache.Get( sKey );
if (xmlCodes == null)
{
      xmlCodes = SqlHelper.ExecuteXml(new dn("Nodes", "Node"), "Get_Stuff_From_Database", sKey);
      HttpRuntime.Cache.Add(sKey, xmlCodes, null,
      DateTime.UtcNow.AddMinutes(1.0),
      System.Web.Caching.Cache.NoSlidingExpiration,
      System.Web.Caching.CacheItemPriority.Normal, null);
}
return xmlCodes;
}

Ce que fait cet exemple en réalité :


La méthode GetStuff prend un paramètre de type chaîne de caractères qui est utilisé pour récupérer un ensemble d'éléments dans la base de données. La méthode vérifie d'abord si un XmlDocument indexé par la clé du paramètre est dans le cache. Si c'est le cas, il renvoie simplement cet objet, sinon il interroge la base de données. Après avoir récupéré le document dans la base de données, il le place dans le cache. Si cette méthode est appelée à nouveau dans le délai imparti, elle récupère l'objet au lieu d'interroger la base de données.

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