0 votes

Invalidation du cache entre deux applications web

J'ai besoin d'invalider le cache d'une application web lorsque des données connexes sont mises à jour dans une autre application (exécutée sur la même machine). Les deux applications utilisent la même base de données. Je sais qu'il existe SqlCacheDependency. Comment cela se passe-t-il en termes de performances ? La communication interprocessus (par exemple, l'utilisation de name pipes) est-elle une option dans les applications Web ? Est-elle plus performante que SqlCacheDependency ?

1voto

Kelsey Points 26456

C'est en fait assez simple à faire en utilisant simplement des services web ou une action de page dans chaque application web. Le service web peut simplement effacer un élément mis en cache chaque fois qu'il est appelé.

Lorsque la webapp A met à jour les données qui sont en cache dans la webapp B, il suffit que la webapp A appelle le service web de la webapp B qui efface le cache et vice versa. Vous pouvez également ajouter une authentification si vous souhaitez sécuriser le processus, etc.

Chaque fois que j'ai dû communiquer avec une autre application web et effectuer une action dans le contexte de l'autre application, je l'ai fait en exposant des services web ou des pages (fichiers ashx) qui effectueront l'action dont j'ai besoin.

0voto

Ian Mercer Points 19271

Vous pouvez utiliser un cache distribué à la place, par exemple Velocity. http://msdn.microsoft.com/en-us/magazine/dd861287.aspx

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