Je dispose d'un service de cache, fonctionne comme .net remoting, je souhaite créer un autre service Windows pour nettoyer ce service de cache en transférant les objets du cache vers les fichiers. parce qu'ils sont dans un processus séparé, est-ce que je pourrais accéder à ce service de cache ou dois-je exposer une méthode à partir du service de cache pour faire ce travail de nettoyage? Le "nettoyage" signifie que je veux sérialiser l'objet du cache au fichier et ces fichiers sauvegardés seront utilisés pour un traitement ultérieur. Laissez-moi vous expliquer cette application plus en détail. l'application est principalement un service de journal pour consigner toute la demande à venir et ces demandes seront sauvegardées dans db pour plus d'exploration de données. nous avons 2 conception pour ce système de notation 1) utiliser MSMQ, mais semble que la performance n'est pas assez bon, nous ne l'utilisons pas. 2) nous concevons un service de cache, chaque requête est sauvegardée dans le cache, et nous avons besoin d'une autre fonction pour nettoyer le cache en sérialisant l'objet dans le fichier.Conception de service ou accès à un autre processus
Répondre
Si je suis cela correctement alors « oui », vous devez modifier le cache soit
(a) exposer un mécanisme qui déclencherait « nettoyage » à l'intérieur du processus de cache lui-même. Dans ce scénario, le cache disposerait de toutes les connaissances requises pour créer le fichier, sérialiser les objets dans le fichier, puis supprimer les objets du cache. Cette option est logique si vous voulez que l'opération soit atomique. (B) exposer un méthanisme qui permettrait au service de nettoyage externe de recevoir les objets mis en cache afin qu'il puisse effectuer toute la sérialisation, la persistance dans le fichier, etc. Ceci pourrait être accompli par une forme de publication/abonnement, une requête continue, etc. Le cache devrait également exposer des méthodes qui permettraient au service de nettoyage de signaler une demande de suppression des objets mis en cache qui ont été envoyés au fichier. (C) faire du nettoyage une fonction inhérente à la mémoire cache ... Dans le monde de la mémoire cache/des données, c'est très commun et on parle souvent de support d'écriture ou de sauvegarde.
Dans tous les cas, vous devrez changer le cache s'il n'expose pas déjà les méthodes à mettre (par exemple écrire/cache), lire/prendre, et/ou supprimer. À strictement parler, vous n'avez pas besoin de Remoting pour cela, alors ne vous sentez pas contraint à cela. Remoting est sympa mais il faut savoir que c'est cher sur le fil. en mémoire, et dans Garbage Collection.
- 1. accès à l'objet singleton d'un autre thread
- 2. Connexion à un autre processus Terminal?
- 3. Processus de conception Web avec CSS - pendant ou après?
- 4. Service arrêtant un autre service
- 5. Accès à une autre structure par valeur ou par pointeur
- 6. Question de conception de service WCF
- 7. Accès à un service Web ASMX à partir de JavaScript
- 8. glisser dans un autre processus
- 9. Donner à un processus Unix un accès RW exclusif à un répertoire
- 10. Intégrer un processus JFrame dans un autre processus JFrame
- 11. SQLite accès multi-processus
- 12. Comment passer le pointeur COM d'un processus à un autre?
- 13. tuer ou fermer un processus
- 14. Windows Service ou toute autre alternative
- 15. Concurrence - un processus se met à jour, un autre insère
- 16. Accès à un service Web derrière un fournisseur d'appartenance
- 17. Accès à un service Web asp.net avec ASP classique
- 18. Service Android se connectant à un autre service
- 19. processus de connexion à un autre processus pour recueillir des informations de profil?
- 20. accès direct à la base de données vs service web
- 21. Application ou service Windows pour communiquer avec un autre service sur le poste de travail distant
- 22. Un service Android est-il un processus ou un fil de discussion?
- 23. Recevoir un message d'un autre processus
- 24. Accès à un NSMutableArray dans une autre classe d'une classe
- 25. Service .NET lorsque vous avez terminé ou juste avant de terminer démarrer un autre service .NET?
- 26. Comment démarrer un processus à partir d'un service Windows
- 27. Classe d'utilité dans un projet de test automatisé - statique, singleton ou autre conception?
- 28. fichier est utilisé par un autre processus
- 29. Comment supprimer un dossier ouvert par un autre processus?
- 30. Donner un accès webservice au service Windows
Votre question est un peu confuse. Que voulez-vous dire par "transférer les objets du cache vers les fichiers" quand on parle de "nettoyer"? En outre, qu'en est-il de la modification de la notification (invalidation du cache) à partir des ressources mises en cache? Pensez-vous en avoir besoin aussi? –
Est-il logique de séparer ces fonctions en services distincts? Cela ressemble à une fonctionnalité assez fine qui pourrait être mieux placée avec le service de cache d'origine. Veuillez clarifier votre raisonnement pour séparer ou ne pas séparer. – mdma