2009-08-27 5 views
1

Possible en double:
How to share objects across processes in .Net?Comment partager la même instance d'objet (singleton) entre des processus en C#?

je peux le faire pour un seul processus (.exe unique), mais comment puis-je le faire entre les processus?

+0

Je pense que vous recherchez - http://stackoverflow.com/questions/763821/how-to-share-objects-across-processes-in-net –

+0

Je pense que vous recherchez - [http: // stackoverflow.com/questions/763821/how-to-share-objects-across-processes-in-net](http://stackoverflow.com/questions/763821/how-to-share-objects-across-processes-in -net) – adatapost

Répondre

0

Vous devez utiliser une sorte de distributed hash table ou un mécanisme de mise en cache. Essayez d'éviter des choses comme l'accès à distance si vous le pouvez, car les appels vers un objet distant peuvent devenir coûteux et commencer à vraiment nuire aux performances. Si vous y allez avec .net remoting, examinez attentivement l'interface de l'objet distant. Vous devriez transmettre des données à granularité grossière à travers les limites du processus, évitez donc les interfaces bavardes avec beaucoup d'appels avec peu de bits de données.

Quelles sont les exigences de la classe que vous souhaitez utiliser en tant que singleton? Il pourrait y avoir une façon totalement différente de le regarder. Actuellement, on pense que les singletons ne sont pas souhaitables, car ils sont difficiles à tester de façon fiable, de sorte que l'évitement du concept singleton pourrait être la direction à prendre.

0

en utilisant .Net Remoting (voir réponses ci-dessus ou par cette url: http://msdn.microsoft.com/en-us/library/kwdt6w2k%28VS.71%29.aspx)

+0

Ceci ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article. –

+0

@BrianCrosby je vous remercie pour les notes, il suffit de placer le lien correct là – Dewfy

1

Vous pouvez le faire via remoting. Votre classe doit hériter de MarshalByRefObject, ce qui donnera à vos clients un proxy à l'objet réel.

Questions connexes