Question

Ok, configuration étrange, question étrange. Nous avons un client et une application Web Admin pour notre application SaaS, fonctionnant sur asp.net-2.0 / iis-6. L'application Admin peut modifier les options affichées sur l'application client. Lorsque ces options sont enregistrées dans l'administrateur, nous appelons un service Web sur le client, à partir de l'administrateur, pour vider notre cache des options de ce compte spécifique.

Récemment, nous avons commencé à donner à notre application cliente > 1 Processus de travail, ce qui a pour effet de vider le cache des options uniquement sur l'un des processus de travail en cours d'exécution.

Donc, j’ai bien sûr d’autres moyens de résoudre ce problème (bien que les contributions soient appréciées), mais ma question est la suivante: existe-t-il un moyen de cibler / parcourir tous les processus de travail via une requête Web?

Était-ce utile?

La solution

Je fais des hypothèses ici pour cette réponse ....

  1. Je suppose que l'application client utilise l'une des classes de mise en cache .NET pour stocker les options de votre application?

  2. Quand vous dites "vider", voulez-vous dire les vider dans un fichier de configuration ou une table de base de données?

Etant donné que les objets et les données du cache ne seront pas partagés entre les processus, vous avez besoin d'un mécanisme pour signaler au code s'exécutant sur l'autre processus de travail qu'il doit relire ses options dans son cache ou forcer le processus à redémarrer ( ce qui n’est pas exactement commode et très probablement indésirable).

Si vous n'avez pas accès à la source du client à modifier pour afficher le fichier de configuration des options ou la table de base de données (par exemple, utilisez un SqlCacheDependency), je pense que vous êtes un peu coincé avec ce comportement.

Autres conseils

J'ai un accès complet à admin et au client, par cache, je veux dire l'objet Cache de .net. Je veux dire supprimer l’élément de l’objet Cache.

Je suis conscient que les deux processus de travail ne partagent pas les données de cache. C'est en quelque sorte mon casse-tête)

Le système a été conçu de manière à éliminer le besoin de frapper SQL chaque nouvelle session entrant. J'essaie donc de trouver une solution capable d'indiquer à chaque processus de travail que le cache doit être effacé w / o impliquer sql.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top