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 :

[tuto Chatez avec WCF] probleme de callback en DuplexChannel


Sujet :

Windows Communication Foundation .NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut [tuto Chatez avec WCF] probleme de callback en DuplexChannel
    Bonjour et bonne année à tous.

    Je viens de suivre l'excellent tutorial Chatez avec WCF

    Lorsque je lance le serveur et le client depuis le meme poste, tout va bien.

    Mais des lors que je passe sur 2 machines differentes rien ne va plus !

    La session semble bien s'etablir puis que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    channelFactory = new DuplexChannelFactory<IChatWCF>(this, "configClient");
     
                chat = channelFactory.CreateChannel();
    channelFactory et chat sont bien instanciés.

    En revanche j'obtiens une Exception
    Échec d'un appel à SSPI, consultez l'exception interne.
    Et en remontant les exceptions, je lis :
    Le nom principal de la cible n'est pas correct
    J'ai fais des tests croisés entre plusieurs PC, plusieurs reseau, mais toujours le meme resultat...

    Je me demande donc si il ne faudrait pas configurer le canal pour la callback, attribuer un numéro de port, ou que sais-je....

    Connaissez vous ce probleme?

    PS : j'ai vraiment du mal à saisir le mecanisme de tout cela, meme si le tuto m'a semblé tres clair, c'est une techno vraiment tres abstraite...

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Bonjour,

    regarde par ici pour voir si ce n'est pas le même problème:
    http://www.developpez.net/forums/d74...-reseau-local/

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    Merci de ta réponse rapide, en effet, c'etait un probleme d'autentification.

    Je l'ai temporairement résolu en rajoutant l'ellement vide "identity" dans le appconfig de mon client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <client>
          <endpoint address="net.tcp://leserver:1234/ChatServices/ChatWCF/"
                    binding="netTcpBinding"
                    contract="ChatWCFServices.IChatWCF"
                    name="configClient">
            <identity>
              <servicePrincipalName />
            </identity>
          </endpoint>
        </client>
    A terme, il faudra que je trouve justement comment utiliser l'authentification. les 2 machines, et users font parti d'un domaine sur le meme reseau microsoft.

    sans doute en jouant avec ces parametres?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <security mode="Message">
         <message clientCredentialType="Windows"/>
    cf : http://www.developpez.net/forums/d68...cation-client/

    EDIT : en Passant, j'en profite pour demander : comment fait on pour obtenir des infos concernant les fichiers de configuration pour WCF? je suis un peu perdu et ne trouve pas de lien dans msdn, je ne sais pas quels ellements existent, a quoi il servent, tout ca est un peu nouveau pour moi, alors si quelqu'un peut me donner une piste de départ, ou plutot une methode de recherche, ca m'aiderai vraiment !.... (désolé, la question vous parrait surement stupide...) merci d'avance.

  4. #4
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Tu auras plein d'exemples ici sur l'authentification Windows avec WCF: http://www.google.fr/search?q=wcf+wi...authentication


    Pour plus d'infos sur WCF (en français), Pascal Belaud avait fait il y a quelques temps des Webcasts sur le sujet: http://blogs.msdn.com/pascal/archive...sponibles.aspx

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    Super Merci !

    Justement, je suis à fond dans le sujet là. J'ai trouvé une solution mais qui ne me convient pas du tout car elle me force à stocker le mot de passe utilisateur, je ne veux pas prendre ce risque conséquent !
    coté Client, la seule methode que j'ai réussi à faire fonctionner en DuplexChannel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    channelFactory = new DuplexChannelFactory<IChatWCF>(this, "configClient");
                channelFactory.Credentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Delegation ;
                channelFactory.Credentials.Windows.ClientCredential.Domain = "LeDomaine";
                channelFactory.Credentials.Windows.ClientCredential.Password = "MotDePasseImpersonal"; //Tres mauvais ca !
                channelFactory.Credentials.Windows.ClientCredential.UserName = "loginImpersonal";
                chat = channelFactory.CreateChannel();
                chat.DemarrerSession();
    Je vais regarder tout ca, merci encore.

Discussions similaires

  1. Chatez avec Silverlight 2 et WCF
    Par The_badger_man dans le forum Silverlight
    Réponses: 6
    Dernier message: 16/01/2011, 18h39
  2. Chatez avec Silverlight 2 et WCF
    Par The_badger_man dans le forum Windows Communication Foundation
    Réponses: 2
    Dernier message: 17/12/2008, 20h42

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