Question

Les deux effectuer la même opération qui est

MSDN

  • 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?

Était-ce utile?

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.

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