IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Communication Foundation .NET Discussion :

communiquer avec les objets d'un service


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Par défaut communiquer avec les objets d'un service
    Bonjour,

    J'ai un service host qui instancie des services via servicehost. Ces services peuvent être en InstanceContextMode à PerSession.

    J'aimerai faire un service qui gére tous les services instanciés afin de pouvoir les arrêter un par un. Mais ce service ne devra être arrêté que si son traitement est terminé. Y a t il un moyen de communication mis en place par WCF ?

    Ludo

  2. #2
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Par défaut
    En fait il faudrait que mon service puisse accéder à tous les objets qu'il a instancié?

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Par défaut
    Je suis pas clair?

    Je voudrais faire une interface d'administration de mes services qui puissent arrêter un service A pour le mettre à jour par exemple.
    Cela implique que mon service A puisse dire à mon interface Admin combien il a d'instance en cours dans quel état ils sont...

    Jusqu'à présent je pense que la seule solution est d'avoir un static (classe ou variable)

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    J'aimerai faire un service qui gére tous les services instanciés afin de pouvoir les arrêter un par un. Mais ce service ne devra être arrêté que si son traitement est terminé. Y a t il un moyen de communication mis en place par WCF ?
    Il suffit d'appeler Close sur le ServiceHost
    http://msdn.microsoft.com/fr-fr/library/ms405497.aspx
    Citation Envoyé par MSDN
    Cette méthode provoque la transition en douceur de CommunicationObject de tout état autre que Closed à l'état Closed dans un intervalle de temps spécifié. La méthode Close permet de terminer tout travail non achevé avant d'être retourné. Par exemple, terminer l'envoi de tout message mis en mémoire tampon.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Par défaut
    Oui pour le close mais admettons que j'ai un service qui scanne un document. Que je veuille à partir de mon interface d'administration, connaitre à quelle page est en mon traitement. Si j'ai accès à l'instance de mon objet je peux avoir cette info ?


    De ce que j'ai compris de WCF :
    Avec [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerCall)] c'est que lors d'une connection à un service un nouvel objet obj1 est instancié.

    Ce que je cherche à faire c'est de pouvoir récupérer les infos d'obj1 via une connexion à mon service.

    Ludo

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ah ok, j'avais pas bien compris ce que tu voulais dire

    Il suffit que tu mettes une propriété statique dans ta classe pour stocker la liste des instances existantes :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.PerCall)]
    public class MonServiceImpl : IMonService, IDisposable
    {
        public static List<IMonService> Instances { get; private set; }
     
        static MonServiceImpl()
        {
            Instances = new List<IMonInstance>();
        }
     
        public MonServiceImpl ()
        {
            Instances.Add(this);
        }
     
        public void Dispose()
        {
            Instances.Remove(this);
        }
     
    ...
     
    }

  7. #7
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Par défaut
    Salut,

    En fait ca ne résoud pas mon problème car:
    J'ai un service (HS) qui instancie tous mes services via servicehost.
    Je voudrais que HS connaisse toutes les instances de tous les services qu'il a lancé.
    Je ne sais pas comment récupérer les informations d'une ou plusieurs instances d'un service.

    Mais merci pour ta réponse!

Discussions similaires

  1. Réponses: 13
    Dernier message: 25/05/2010, 07h44
  2. Communiquer avec les élements d'une frame
    Par Gomoz dans le forum C#
    Réponses: 2
    Dernier message: 28/09/2007, 17h23
  3. Dupliquer un TList avec les objets associés
    Par declencher dans le forum Delphi
    Réponses: 5
    Dernier message: 08/11/2006, 11h34
  4. Réponses: 1
    Dernier message: 21/10/2005, 13h08
  5. Pb avec les objets???
    Par bliml dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/04/2005, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo