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

C# Discussion :

[c#] Service problème


Sujet :

C#

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut [c#] Service problème
    Salut à tous,

    j'ai un soucis avec un service Windows, quand je lance en console(debug) ca fonctionne mais en service impossible de me connecter sur le serveur. Pour je n'ai pas de log d'erreur dans les journaux de windows.

    Code : 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
    static void Main()
            {
    #if DEBUG
     
                Server S = new Server();
                S.Start();
    #else
     
     
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[] 
    			{ 
    				new ServiceTest() 
    			};
                ServiceBase.Run(ServicesToRun);
    #endif
            }
    Code : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
        class ServiceTest: ServiceBase
        {
            private Server Server = null;
            public ServiceTest()
            {
                this.InitializeComponent();
            }
     
            private void InitializeComponent()
            {
                this.CanShutdown = true;
                this.ServiceName = "Service.Test";
     
            }
     
            protected override void OnStart(String[] Args)
            {
                if (this.Server == null)
                {
                    this.Server = new Server();
                }
                this.Server.Start();
            }
            protected override void OnStop()
            {
                if (this.Server != null)
                {
                    this.Server.Stop();
                }
            }
            protected override void OnShutdown()
            {
                if (this.Server != null)
                {
                    this.Server.Stop();
                }
                this.Server = null;
            }
        }
    Si vous avez une idée... je désespère.

    Merci d'avance.

    Cordialement,
    NeoKript

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    il faut partir sur un autre thread depuis onstart dans un service
    est-ce le cas de ta classe server ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Salut,

    c'est bien le cas :
    Code : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    public void Start()
            {
                Log.Write("Démarrage du serveur !");
                this._Thread = new Thread(new ThreadStart(this.StartOnThread));
                this._Thread.Start();
     
            }
            public void StartOnThread()
            {
                while (true)
                {
                    List<Socket> read = new List<Socket>();
                    List<Socket> write = new List<Socket>();
                    for (int i = 0; i < this._clients.Count; i++)
                    {
                        read.Add(this._clients.ElementAt(i).Key);
                        if (this._clients.ElementAt(i).Value.Size > 0)
                            write.Add(this._clients.ElementAt(i).Key);
                    }
                    Socket.Select(read, write, null, 5);
                    if (read.Count > 0)
                    {
                        for (int i = 0; i < read.Count; i++)
                        {
                            try
                            {
     
                                if (this._clients[read[i]].IsServer)
                                {
                                    this.Accept();
                                }
                                else
                                {
                                    this.Read(read[i]);
                                }
                            }
                            catch (Exception)
                            {
                                read[i].Close();
                            }
                        }
     
                    }
                    if (write.Count > 0)
                    {
                        for (int i = 0; i < write.Count; i++)
                        {
                            try
                            {
                                this.Write(write[i]);
                            }
                            catch (Exception)
                            {
     
                            }
     
                        }
                    }
                    this.ClearDisconnectSocket();
                }
            }
    Merci d'avance

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    manque de try catch avec écriture des erreurs dans un fichier je pense
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    manque de try catch avec écriture des erreurs dans un fichier je pense
    Je viens de mettre un try..catch sur tout le block et pas mieux !
    Rien des les journaux d'évènement à part "Démarrage du serveur !" mais impossible de se connecter sur la Socket ! S'il y avai un problème de bind sur le port ou autre, je le saurais pourtant ac les try catch Log.Write()...

    Ma classe ServiceTest te semble correct ?

    Merci

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    oui


    sinon essaye de mettre des écritures un peu partout pour voir si ca passe partout ou si ca s'arrete entre 2 parties de code
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    cela manque un peu de code, mais juste histoire d'empêcher le monde de tourner en rond...
    j'espère que ta pensé à définir une ou plusieurs sockets en mode écoute et surtout les ajouter à ta liste _clients ?
    ces mêmes sockets d'écoute que ton serveur va dévoir écouter pour accepter les connexions entrantes, et si oui, j'espère aussi que tu as défini tout ce qu'il faut pour que les connexions entrantes arrivent également dans ta liste _clients...

    regarde voir de ce côté car on dirais bien que les sockets ne sont pas ouvertes...

  8. #8
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par cinemania Voir le message
    cela manque un peu de code, mais juste histoire d'empêcher le monde de tourner en rond...
    j'espère que ta pensé à définir une ou plusieurs sockets en mode écoute et surtout les ajouter à ta liste _clients ?
    ces mêmes sockets d'écoute que ton serveur va dévoir écouter pour accepter les connexions entrantes, et si oui, j'espère aussi que tu as défini tout ce qu'il faut pour que les connexions entrantes arrivent également dans ta liste _clients...

    regarde voir de ce côté car on dirais bien que les sockets ne sont pas ouvertes...
    Le serveur fonctionne parfaitement en mode console ...
    Il a tourner non stop pendant 2 mois ^^ c'est juste le passage en mode service le problème je vais mettre les log de partout pour voir ...

  9. #9
    Invité
    Invité(e)
    Par défaut
    Essaie ça :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void Start()
            {
                Log.Write("Démarrage du serveur !");
                this._Thread = new Thread(new ThreadStart(this.StartOnThread));
                this._Thread.Start();
    while (!this._Thread.IsAlive) ;
     
            }

  10. #10
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    as tu penser aux droits d'accès et sécurité d'accès des applications dotnet ?

    en effet, en mode "console" il tourne avec tes droits de session à toi, donc à priori en fulltrust, mais qu'en est-il lorsqu'il tourne en mode Service ?

    je sais la majorité des problèmes de sécurité provoquent des exceptions, mais ce n'est pas systématique, parfois on est face à des comportements assez étrange due à des problème de niveaux de privilèges.
    Essaie voir de mettre ton service sur le compte "AUTORITE NT\SERVICE RÉSEAU" et voir si tu obtient un résultat équivalent.

    Cela peut venir également du Firewall local, tout dépend alors de la façon dont la règle d'exclusion permettant de se connecter au serveur a été écrite.
    De plus pour un service, il est parfois nécessaire d'enregistrer auprès du système une mise en écoute pour ce service en particulier, mais cela se fait surtout pour les webservice hébergés directement et si le port d'écoute est situé dans une plage habituellement réservée au système, surtout sur Vista ou Ultérieur.

    h2s84 en aucun cas il ne faut faire une quelconque attente active de la sorte. surtout au sein d'un processus multithread. Les attentes actives sont plus que vivement déconseillées, et provoques ce que tout le monde déteste particulièrement, les latences hors de contrôles... tu sais une application qui se met à consommer tout le cpu, sans trop savoir ce qu'elle fait ?
    le main thread va se retrouver à étouffer le second thread et l'attente peut alors être très longue.
    De plus OnStart ne doit en aucun cas être BLOCANTE... en d'autres terme cette méthode doit toujours retourner dans un laps de temps relativement cours, sous peine d'être killé par le système qui va juger que l'applicatif à tout simplement planté, même si ce n'est pas le cas.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cinemania Voir le message
    h2s84 en aucun cas il ne faut faire une quelconque attente active de la sorte. surtout au sein d'un processus multithread. Les attentes actives sont plus que vivement déconseillées, et provoques ce que tout le monde déteste particulièrement, les latences hors de contrôles... tu sais une application qui se met à consommer tout le cpu, sans trop savoir ce qu'elle fait ?
    le main thread va se retrouver à étouffer le second thread et l'attente peut alors être très longue.
    De plus OnStart ne doit en aucun cas être BLOCANTE... en d'autres terme cette méthode doit toujours retourner dans un laps de temps relativement cours, sous peine d'être killé par le système qui va juger que l'applicatif à tout simplement planté, même si ce n'est pas le cas.
    TOTALEMENT D'ACCORDS AVEC TOI

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    A la grande limite il peut faire une mise en sommeil du mainthread pendant l'espace d'un ou 2 secondes et revérifier l'état du second thread, et agir en conséquence.
    En effet, les exceptions multithread dans un environnement services ne sont pas toujours bien remontées/attrapées.
    Mais au moins il saura que le thread secondaire n'est plus en activité et saura qu'il y a bel et bien un problème d'exception pas obligatoirement catché.

  13. #13
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    Essaie ça :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void Start()
            {
                Log.Write("Démarrage du serveur !");
                this._Thread = new Thread(new ThreadStart(this.StartOnThread));
                this._Thread.Start();
    while (!this._Thread.IsAlive) ;
     
            }
    Pas mieux !

    Citation Envoyé par cinemania Voir le message
    as tu penser aux droits d'accès et sécurité d'accès des applications dotnet ?

    en effet, en mode "console" il tourne avec tes droits de session à toi, donc à priori en fulltrust, mais qu'en est-il lorsqu'il tourne en mode Service ?

    je sais la majorité des problèmes de sécurité provoquent des exceptions, mais ce n'est pas systématique, parfois on est face à des comportements assez étrange due à des problème de niveaux de privilèges.
    Essaie voir de mettre ton service sur le compte "AUTORITE NT\SERVICE RÉSEAU" et voir si tu obtient un résultat équivalent.

    Cela peut venir également du Firewall local, tout dépend alors de la façon dont la règle d'exclusion permettant de se connecter au serveur a été écrite.
    De plus pour un service, il est parfois nécessaire d'enregistrer auprès du système une mise en écoute pour ce service en particulier, mais cela se fait surtout pour les webservice hébergés directement et si le port d'écoute est situé dans une plage habituellement réservée au système, surtout sur Vista ou Ultérieur.
    Je n'ai pas du tout pensé au droits ... C'est peut-être bien ça le problème, car quand je le lance en mode console, il me demande si je souhaite autoriser l'accès sur les réseaux privés et publics (Windows 7 pour infos) ... Mais en mode service il ne me demande rien... et je ne sais pas comment on peut configurer l'accès d'un service Windows (je faisais toujours des apps consoles avant). Un peu d'aide concernant ce point serait la bienvenue.

    Citation Envoyé par cinemania Voir le message
    h2s84 en aucun cas il ne faut faire une quelconque attente active de la sorte. surtout au sein d'un processus multithread. Les attentes actives sont plus que vivement déconseillées, et provoques ce que tout le monde déteste particulièrement, les latences hors de contrôles... tu sais une application qui se met à consommer tout le cpu, sans trop savoir ce qu'elle fait ?
    le main thread va se retrouver à étouffer le second thread et l'attente peut alors être très longue.
    De plus OnStart ne doit en aucun cas être BLOCANTE... en d'autres terme cette méthode doit toujours retourner dans un laps de temps relativement cours, sous peine d'être killé par le système qui va juger que l'applicatif à tout simplement planté, même si ce n'est pas le cas.
    Socket.Select n'est pas bloquant, mais OnStart l'est avec le While (true), je sais pas sous UNIX j'avais l'habitude de faire les daemon de cette façon avec le select des Socket UNIX (de même en cpp avec les Socket Win32 (WinSock))... Comment vous feriez autrement ? Je n'ai jamais fait gaffe s'il y avais des events sur les Socket Serveur lors de l'écriture ou autre.

    C'est mon seul projet en Socket c#, lorsque je code en c#, j'utilise d'ordinaire WCP.

    Merci

  14. #14
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    pour les droits, quand tu fais un projet de type service, tu peux faire clic droit sur le service, créer l'installeur
    ensuite sur le fichier installeur généré dans vs tu peux définir le mode de démarrage (automatique ..) et le compte utilisateur à utiliser (service réseau est en effet celui qui convient le mieux)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  15. #15
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    pour les droits, quand tu fais un projet de type service, tu peux faire clic droit sur le service, créer l'installeur
    ensuite sur le fichier installeur généré dans vs tu peux définir le mode de démarrage (automatique ..) et le compte utilisateur à utiliser (service réseau est en effet celui qui convient le mieux)
    Pas mieux ... J'ai fait un singleton pour la classe log et le service ne démmare plus du tout :s

    Si quelqu'un à une peu de temps pour regarder, je met mon code (il faut se connecter sur le port 10001 ac nc au autre et dans les évènements windows ca doit marquer "Un nouveau client vient de se connecter"...

    Merci d'avance,

    quel galère quand même... Je ne vois vraiment pas le problème.
    Fichiers attachés Fichiers attachés

  16. #16
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Je ne trouve toujours pas pourtant en application console, il fonctionne encore ...

  17. #17
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Tu en es où au niveau du debugage ? Tu passes en pas à pas dans la méthode qui pose problème qui est l'attente d'une connexion d'un client sur une socket ou le démarrage du service ?

    Tu as mis à jour les logs et traces où est-ce que cela s'arrête ?

  18. #18
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par hegros Voir le message
    Tu en es où au niveau du debugage ? Tu passes en pas à pas dans la méthode qui pose problème qui est l'attente d'une connexion d'un client sur une socket ou le démarrage du service ?

    Tu as mis à jour les logs et traces où est-ce que cela s'arrête ?
    Salut et merci pour ta réponse,
    en fait quand je le lance en debug, je lance le service comme ci il était en mode console comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #if DEBUG
                Server S = new Server();
                S.Start();
    #else
     
     
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[] 
    			{ 
    				new ServiceTrojan() 
    			};
                ServiceBase.Run(ServicesToRun);
    #endif
    La tout fonctionne je n'ai aucun soucis.
    Par contre quand je le lance en mode service (release) le service ne démarre même pas. Y-a-t'il un moyen de debug un service autrement ? Dans l'observateur d'évènement Windows, je n'ai plus rien avec le code mis juste au dessus. Avant j'arrivais à avoir le fait que le service démarre ou qu'il s'arrête mais la plus rien. En debug (console) j'ai bien dans l'observateur d'évènement la connexion d'un nouveau client etc...

    Merci d'avance

  19. #19
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Quel est la target du projet c'est une application windows ?

    Quand tu dis que le service démarre est-ce que cela veut dire que tu vas dans le gestionnaire de service tu y vois ton service, tu cliques sur démarrer et là le service n'est pas démarré ? Ou que lorsque tu cliques sur démarrer le service alors Windows te donne un message d'erreur comme quoi le service n'a pas pu démarrer dans le temps imparti ?

  20. #20
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Citation Envoyé par hegros Voir le message
    Quel est la target du projet c'est une application windows ?

    Quand tu dis que le service démarre est-ce que cela veut dire que tu vas dans le gestionnaire de service tu y vois ton service, tu cliques sur démarrer et là le service n'est pas démarré ? Ou que lorsque tu cliques sur démarrer le service alors Windows te donne un message d'erreur comme quoi le service n'a pas pu démarrer dans le temps imparti ?
    J'ai une erreur de Windows :
    L'opération n'a pas pu se terminée.

    Le service n'a pas répondu assez vite à la demande de lancement ou de contrôle.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/08/2008, 10h00
  2. Réponses: 6
    Dernier message: 05/12/2007, 17h55
  3. Orbacus Naming Service problème
    Par anas.eh dans le forum CORBA
    Réponses: 5
    Dernier message: 16/11/2007, 21h43
  4. Web Services - Problème de communication serveur/client
    Par vern's dans le forum Web & réseau
    Réponses: 9
    Dernier message: 27/08/2007, 10h06
  5. [C# 2.0, Service]Problème service et Timer
    Par boleduch dans le forum Windows Forms
    Réponses: 1
    Dernier message: 25/04/2006, 15h00

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