“Impossible de trouver le point de terminaison de l'élément avec un nom...”

Désolé pour le long énoncé du problème...j'ai passé deux jours de débogage et ont beaucoup de notes...

J'ai un service de données WCF et un autre processus essayez de vous connecter en tant que client via TCP et/ou HTTP.

J'ai une question TRÈS simple client de test app qui semble se connecter très bien, mais le plus compliqué de la production de l'app ne peut pas se connecter (ni TCP ou HTTP). Dans les deux projets du client, je laisse Visual Studio 2008 générer l'application.config en utilisant la fonction "Ajouter une Référence de Service" et de le laisser tirer des métadonnées du service de données.

Voici le code pour la simple client de test qui fonctionne:

using Client.MyDataService;

namespace Client
{
    class Program
    {
        static void Main(string[] args)
        {
            MyDataServiceClient client = new MyDataServiceClient("net.tcp");

            client.GetRecords();
        }
    }
}

Voici le code pour la plus compliquée, la production client:

DataServiceManager.cs:

using MyServer.MyDataService;

namespace MyServer.DataServiceBridge
{
    class DataServiceManager
    {
        MyDataServiceClient dataServiceClient = new MyDataServiceClient("net.tcp");
}
}

Dans le processus principal:

DataServiceManager d = new DataServiceManager();

Ici sur l'app.fichier de configuration pour à la fois simple client et de la production client:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings>
            <netTcpBinding>
                <binding name="net.tcp" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false"
                    transferMode="Buffered" transactionProtocol="OleTransactions"
                    hostNameComparisonMode="StrongWildcard" listenBacklog="10"
                    maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
                    maxReceivedMessageSize="65536">
                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
                        enabled="false" />
                    <security mode="Transport">
                        <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
                        <message clientCredentialType="Windows" />
                    </security>
                </binding>
            </netTcpBinding>
        </bindings>
        <client>
            <endpoint address="net.tcp://localhost:8888/MyDataService"
                binding="netTcpBinding" bindingConfiguration="net.tcp" contract="MyDataService.IMyDataService"
                name="net.tcp">
                <identity>
                    <userPrincipalName value="COMPUTER_NAME\Username" />
                </identity>
            </endpoint>
        </client>
    </system.serviceModel>
</configuration>
  • Dans Monserveur bin\Debug\ dossier est
    MyServer.exe, app.config.
  • Dans MyDataSeriviceHost bin\Debug\
    le dossier est MyDataService.exe,
    app.config, et
    MyDataSeriviceHost.exe.config.
    app.config et
    MyDataSeriviceHost.exe.config sont
    identiques.

Voici le message d'erreur:

An exception of type 'System.InvalidOperationException' occurred in System.ServiceModel.dll but 
was not handled in user code

Additional information: Could not find endpoint element with name 'net.tcp' and contract
 'MyDataService.IMyDataService' in the ServiceModel client configuration section.
 This might be because no configuration file was found for your application, or because no endpoint
 element matching this name could be found in the client element.

Toutes les idées de ce qui se passe? J'ai à peu près épuisé Google. 🙁

Probablement une faute de frappe, mais votre message d'erreur: IyDataService. Devrait probablement être IMyDataService.
Oui, c'était une faute de frappe dans la rédaction de poster ici. Corrigé, merci!
merci de ne pas dupliquer les balises comme "FMC" dans le titre. C'est ce que les balises sont pour.
S'il vous plaît pouvez-vous laisser l'original de l'onu-version expurgée dans l'avenir, si c'est ce que l'une des causes de l'erreur? J'étais à la recherche pour IyDataService et ne pouvait pas voir n'importe où, ce qui était exactement mon problème, mais le upvoted commentaire ne correspond pas à votre question. Merci

OriginalL'auteur CrypticPrime | 2010-07-06