Singleton et le client Activé objet (CAO), Remoitng
-
02-10-2019 - |
Question
Les deux effectuer la même opération qui est
- Singleton: "" un service unique et objets d'appel qu'une seule demande à venir en .... «
- CAO: « objets activés client (CAO) sont des objets côté serveur qui sont activés sur demande du client .... »
dans les deux cas, les données ne sont pas partagées, mais singleton une seule fois client peut être connecté à un moment, pourquoi quelqu'un voudrait que Sous ce scénario est Singleton utile et y at-il plus de différences dans les?
La solution
Vous missread les lignes. Here's la définition de la MSDN. Je souligne (gras) certains objets entre ces écarts constatés.
Un seul appel
Objets d'appel unique un service et une seule demande à venir en . Célibataire objets d'appel sont utiles dans les scénarios où les objets sont tenus de faire quantité finie de travail. Appel unique les objets ne sont généralement pas tenus de stocker des informations d'état, et ils ne peuvent pas contenir des informations d'état entre appels de méthode . Toutefois, seul appel les objets peuvent être configurés dans un mode de charge équilibrée.
Singleton Objets
Les objets Singleton sont les objets que services multiples clients et par conséquent de partager des données en stockant l'état informations entre le client invocations . Ils sont utiles dans les cas dans lequel les données doivent être partagées explicitement entre les clients et aussi dont la tête de la création et le maintien des objets est important.
Objets activés par le client (CAO)
objets activés sur le client (CAO) sont des objets côté serveur qui sont activé sur demande de la client . Cette façon de serveur d'activation des objets est très similaire à la classique COM coclasse activation. Quand le client soumet une demande d'un serveur objet en utilisant l'opérateur « nouveau », un message de demande d'activation est envoyé à l'application à distance. Le serveur crée alors une instance de la classe demandée et retourne un objref à l'application cliente invoquée. Une procuration est alors créée sur du côté client à l'aide du ObjRef. le Les appels de méthode du client seront exécutées sur la procuration. objets activés par le client peut stocker des informations d'état entre appels de méthode pour son client spécifique et non à travers différents clients objets . Chaque invocation de « nouvelle » renvoie une procuration à un organisme indépendant par exemple du type de serveur.
Information d'Etat est des données que vous stockez dans des variables ou des propriétés de l'objet, pour traiter la demande du client.
Depuis objet d'appel unique est créé lorsqu'une demande de client pour faire un travail, et détruit après fait exécuter le travail, il ne peut pas contenir des informations d'état, la cause de chaque demande crée un nouvel objet (Il peuvent charger et stocker des données dans une source de données, pour faire le travail d'une manière).
objet Singleton est créé une seule fois (peut-être au serveur starup) et mortes aussi longtemps que le processus serveur est en cours d'exécution. Il peut stocker des informations dans des variables et des propriétés aux demandes des clients de la poignée, la cause de chaque client fonctionne avec le même objet et il détruit après un isnt appel client.
Un exemple simple d'afficher le diffrence betwenn un seul appel et l'objet singleton est de créer un procédé d'incrémentation () pour incrémenter une variable (nombre entier) dans l'objet et la variable écrire à la console. L'objet d'appel unique sera toujours imprimer la même valeur à la console (1 si la variable commence par 0), tandis que l'objet singleton toujours imprimer une valeur incrémentée (1, 2, 3, etc.) après chaque appel.