Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de point de terminaison en C#

Créez votre première application connectée en C# / .NET

Sujet résolu
    23 septembre 2020 à 19:10:06

    Bonsoir tout le monde,

    J'ai étudié le tuto « Créez votre première application connectée en C# / .NET » sur Open class room.

    Je vous écris ce message car je n'arrive plus à faire fonctionner cette première application qui est la conclusion de ce tuto. Quand j'essaie de la faire fonctionner, j'ai la fenêtre Windows qui me dit : « GestionFichesClients a cessé de fonction. »

    Avant que je fasse la mise à jour de Visual Studio 2019 j’arrivai quelque fois en « rusant » à faire fonctionner cette application. Je cliquais avant mon essai sur « Générer/Nettoyer la solution » et sur « Générer/Régénérer la solution ».

    Et sinon avant l'essai et ma « ruse », Visual Studio 2019 me donnait l'erreur de compilation suivante :

    Impossible de trouver un élément de point de terminaison par défaut qui fait référence au contrat 'FichesClientService.IFichesClientService' dans la section de configuration du client ServiceModel. Ceci peut être dû au fait que le fichier de configuration de votre application est introuvable ou que l'élément de point de terminaison correspondant à ce contrat est introuvable dans l'élément client.

    Ou soit l'une de ces erreurs de compilation :

    • XDG0008 : Le nom "FichesClientsVM" n'existe pas dans l'espace de noms "clr-namespace:GestionFichesClients".

    • XDG0009 : Le type "FichesClientsVM" n'est pas accessible.

    • XDG0038 : La propriété "DataContext" ne peut pas être vide.


    Et quand je faisais une débogage voici le rapport :

    System.ServiceModel.EndpointNotFoundException
    
    HResult=0x80131501
    
    Message=Il n'existait pas de point de terminaison à l'écoute sur http://localhost:56485/FichesClientService.svc pouvant accepter le message. Ceci est souvent dû à une adresse ou une action SOAP incorrecte. S'il est présent, voir l'élément InnerException pour plus d'informations.
    
    Source=mscorlib
    
    Arborescence des appels de procédure :
    
    à System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
    
    à System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
    
    à GestionFichesClients.FichesClientService.IFichesClientService.GetFiches()
    
    à GestionFichesClients.FichesClientService.FichesClientServiceClient.GetFiches() dans D:\autreProjetPro\ATutoPremiereAppCdiezeConnecte\Arevision\MaPremiereApplicationConnectee\GestionFichesClients\Connected Services\FichesClientService\Reference.cs :ligne 172
    
    à GestionFichesClients.FichesClientsVM..ctor() dans D:\autreProjetPro\ATutoPremiereAppCdiezeConnecte\Arevision\MaPremiereApplicationConnectee\GestionFichesClients\FichesClientsVM.cs :ligne 138
    
    
    Cette exception a été levée à l'origine dans cette pile des appels :
    
    [Code externe]
    
    
    Exception interne 1 :
    
    WebException : Impossible de se connecter au serveur distant
    
    
    Exception interne 2 :
    
    SocketException : Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée 127.0.0.1:56485
    
    
    

    Maintenant après la mise à jour de Visual Studio 2019, la plupart du temps il me met aucune erreur de complilation mais je n'arrive plus du tout à faire fonctionner ce programme, j'ai tout le temps la fenêtre Windows qui me dit : « GestionFichesClients a cessé de fonction. »

    Et quand je fait le débogage voici le rapport :

    System.Windows.Markup.XamlParseException
    
    HResult=0x80131501
    
    Message='L'invocation du constructeur sur le type 'GestionFichesClients.FichesClientsVM' qui correspond aux contraintes de liaison spécifiées a levé une exception.' numéro de ligne '10' et position de ligne '10'.
    
    Source=PresentationFramework
    
    Arborescence des appels de procédure :
    
    à System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
    
    à System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
    
    à System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
    
    à System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
    
    à System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
    
    à System.Windows.Application.DoStartup()
    
    à System.Windows.Application.<.ctor>b__1_0(Object unused)
    
    à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    
    à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
    
    à System.Windows.Threading.DispatcherOperation.InvokeImpl()
    
    à System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
    
    à MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
    
    à System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    
    à MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
    
    à System.Windows.Threading.DispatcherOperation.Invoke()
    
    à System.Windows.Threading.Dispatcher.ProcessQueue()
    
    à System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    
    à MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    
    à MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
    
    à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    
    à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
    
    à System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
    
    à MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    
    à MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
    
    à System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
    
    à System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
    
    à System.Windows.Application.RunDispatcher(Object ignore)
    
    à System.Windows.Application.RunInternal(Window window)
    
    à System.Windows.Application.Run(Window window)
    
    à System.Windows.Application.Run()
    
    à GestionFichesClients.App.Main()
    
    
    Cette exception a été levée à l'origine dans cette pile des appels :
    
    [Code externe]
    
    
    Exception interne 1 :
    
    EndpointNotFoundException : Il n'existait pas de point de terminaison à l'écoute sur http://localhost:56485/FichesClientService.svc pouvant accepter le message. Ceci est souvent dû à une adresse ou une action SOAP incorrecte. S'il est présent, voir l'élément InnerException pour plus d'informations.
    
    
    Exception interne 2 :
    
    WebException : Impossible de se connecter au serveur distant
    
    
    Exception interne 3 :
    
    SocketException : Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée 127.0.0.1:56485
    
    
    Il semberait que le problème vient de ligne 10 du fichier “MainWindow.xaml” et du fichier “FichesClientsVM.cs”

    Voici le lien où se trouve le code source que j'ai copié du cours tout le dossiers est prêt à être utiliser par Visual studio 2019 :

    https://drive.google.com/drive/folders/17SIUImCCZrLY4pNS2UFq1xSVI85NO9UA?usp=sharing

    J'ai fait beaucoup de recheches internet mais j'ai rien trouvé de concluant c'est pour cela que je me permet de vous soumettre ce problème qui me semble très dure à résoudre.

    Je vous remercie par avance pour votre aide.

    Je vous souhaite une très bonne soirée.

    Bien cordialement.

    Aclanto

    -
    Edité par aclanto 24 septembre 2020 à 9:41:08

    • Partager sur Facebook
    • Partager sur Twitter
      24 septembre 2020 à 11:36:38

      Utilisant VS 2019 Community, j'ai aussi eu des soucis (a priori pas les mêmes que toi) que j'ai résolu (du moins j'arrive à lancer l'application):

      - nettoyer la solution

      - regenérer chacun des 2 projets

      - lancer le 1er projet "FicheClientWCFserviceRevision" via le debugger (il lance IISExpress, ouvre une fenetre de navigation)

      - clic droit sur le 2nd projet "GestionFichesClients" puis déboguer > Démarrer une nouvelle instance (dans un 1er temps, j'avais lancé le .exe du dossier bin/debug du projet)

      PS: en fait j'ai eu les messages d'erreurs que tu as rencontré, quand on lance le "GestionFichesClients" en premier (ça vient du fait que le serveur IIS (1er projet) n'est pas en fonctionnement.

      • Partager sur Facebook
      • Partager sur Twitter
        25 septembre 2020 à 11:38:30

        Bonjour Umfred, :D

        Merci pour ta réponse.

        Tu m'as donné la bonne solution. Grâce à toi résolue mon problème.

        Effectivement, il faut d'abord lancer le projet WCF qui va démarré IISExpress en faisant clic droit sur le 2nd projet "GestionFichesClients" puis déboguer > Démarrer une nouvelle instance.

        Ensuite il faut lancer le projet WPF qui gère l'interface de l'application. On peut le lance soit via la fenêtre « exploration  des solutions » en adoptant la même procédure qui permet de lancer le projet WCF ( quand on a lancé ce projet WCF la fenêtre « Exploration des solutions »  a disparu pour laisser la place à la fenêtre « Outil de diagnostic » pour la faire réapparaître soit il faut cliquer sur l’onglet « Exploration des solutions » qui est juste sur la  droite de la fenêtre « Outil de diagnostic » ou vous pouvez aussi cliquer sur Affichage du menu principale de IDE et sur « Exploration des solution »).

        Pour lancer le projet WPF on peut aussi tout simplement lancer, si il a été génére au paravant, le .exe du dossier bin/debug du dossier qui contient la solution.

        Merci encore Umfred.

        Je te souhaite une très bonne journée ainsi qu'un très bon week-end. :)

        Bien cordialement.

        Aclanto

        -
        Edité par aclanto 25 septembre 2020 à 19:33:36

        • Partager sur Facebook
        • Partager sur Twitter

        Problème de point de terminaison en C#

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown