ASP.NET 2.0 fournit de nouvelles fonctionnalités techniques pour améliorer les performances du programme. La technologie de mise en cache est une fonctionnalité très importante. Elle fournit un très bon mécanisme de mise en cache des données locales qui peut être facilement personnalisé. Ainsi, les performances d'accès aux données peuvent être efficacement améliorées.
La mise en cache présente un défaut difficile à surmonter : le problème de l’expiration des données. La situation la plus courante est que si le contenu des données de la table de base de données est mis en cache dans la mémoire du serveur, l'application Web est susceptible d'afficher des données obsolètes et inexactes lorsque les enregistrements de la table de base de données changent. Pour certains types de données, même si les informations affichées sont obsolètes, l’impact ne sera pas significatif. Toutefois, pour les données soumises à des exigences strictes en temps réel, telles que les cours des actions, les offres d'enchères et d'autres informations, il est inacceptable d'afficher des données légèrement obsolètes.
ASP.NET 2.0 prend en charge les types de cache de sortie de page mis en cache suivants. Le cache de sortie de page est le mécanisme de mise en cache le plus simple. Ce mécanisme enregistre l'intégralité du contenu de la page ASP.NET dans la mémoire du serveur. Lorsque l'utilisateur demande la page, le système sort les données pertinentes de la mémoire jusqu'à ce que les données mises en cache expirent. Dans ce processus, le contenu mis en cache est envoyé directement à l'utilisateur sans avoir à repasser par le cycle de vie du traitement de la page. En règle générale, la mise en cache de sortie de page est particulièrement utile pour les pages contenant du contenu qui n'a pas besoin d'être modifié fréquemment, mais qui nécessite beaucoup de traitement pour être compilé jusqu'à son terme. Les lecteurs doivent noter que le cache de sortie de page stocke tout le contenu de la page en mémoire et est utilisé pour répondre aux demandes des clients.
Cache partiel de page
La mise en cache partielle de la page signifie que la sortie met en cache certaines parties de la page au lieu de mettre en cache l'intégralité du contenu de la page. Il existe deux mécanismes pour implémenter la mise en cache partielle des pages : l'un consiste à placer la partie de la page qui doit être mise en cache dans un contrôle utilisateur (fichier .ascx) et à définir la fonction de mise en cache pour le contrôle utilisateur (la page contenant le contrôle utilisateur). peut ou non définir la mise en cache). Ceci est communément appelé « mise en cache des contrôles ». L'essence de la définition du cache de contrôle est de configurer le cache du contrôle utilisateur. Il comprend principalement les trois méthodes suivantes : l'une consiste à utiliser la directive @OutputCache pour définir de manière déclarative la fonction de cache pour le contrôle utilisateur ; l'autre consiste à utiliser la classe PartialCachingAttribute dans le fichier code-behind pour définir le cache du contrôle utilisateur ; consiste à utiliser la classe ControlCachePolicy pour spécifier par programme la configuration du cache de contrôle utilisateur. Alternativement, il existe une méthode appelée « remplacer après le cache ». Cette méthode est tout le contraire de la mise en cache de contrôle. Elle définit qu'une certaine partie de la page n'est pas mise en cache. Par conséquent, même si la page entière est mise en cache, lorsque la page est à nouveau demandée, le contenu qui n'est pas configuré pour être mis en cache le sera. retraité.
Cache de données d'application Le cache de données d'application fournit un moyen programmatique de stocker des données arbitraires en mémoire à l'aide de paires clé/valeur. L'utilisation du cache d'application est similaire à l'utilisation de l'état de l'application. Cependant, contrairement à l'état de l'application, les données contenues dans le cache des données de l'application sont volatiles, c'est-à-dire qu'elles ne sont pas stockées en mémoire pendant toute la durée de vie de l'application. L'avantage du cache de données d'application est qu'ASP.NET gère le cache, qui supprime les éléments du cache lorsqu'ils sont expirés, non valides ou saturés de mémoire. Le cache d'application peut également être configuré pour avertir l'application lorsqu'un élément est supprimé. .
dépendance du cache
Les dépendances de cache personnalisées introduites dans Net 2.0, en particulier la fonctionnalité SqlCacheDependency basée sur MS-SQL Server, nous permettent d'éviter le problème de « l'expiration des données ». Il peut notifier le cache et supprimer celles qui ont expiré en fonction des modifications des données correspondantes. la base de données. La
fonctionnalité de mise en cache des données présente également ses propres inconvénients. Par exemple, le contenu affiché peut ne pas être le plus récent ni le plus précis et, pour cette raison, des politiques de mise en cache appropriées doivent être définies. Comme autre exemple, la mise en cache augmente la complexité du système et rend difficile le test et le débogage. Il est donc recommandé de développer et de tester l'application sans mise en cache, puis d'activer l'option de mise en cache pendant la phase d'optimisation des performances.