2 Stimmen

C# WebService Endpunkt Problem

Ich erstelle einen Webservice-Client. Und ich habe das Problem - in MainWindow.xaml gibt es eine Meldung: 'Could not find endpoint element with name 'LightsWSSoap' and contract 'LightsWS.LightsWSSoap' in the ServiceModel client configuration section. Dies könnte daran liegen, dass keine Konfigurationsdatei für Ihre Anwendung gefunden wurde, oder dass kein Endpunktelement mit diesem Namen im Client-Element gefunden werden konnte.' In dieser Datei habe ich etwas wie:

xmlns:vm="clr-namespace:LightsClient2.ViewModels"
<Window.DataContext>
    <vm:MainWindowViewModel />
</Window.DataContext>

Und im MainWindowViewModel wird der Konstruktor des Webservice verwendet:

LightsWSSoap lService = new LightsWSSoapClient("LightsWSSoap");

Dabei ist "LightsWS" der Name des Dienstes.

Es gibt eine app.config-Datei, in der enpoints definiert sind:

    <client>
        <endpoint address="http://xxx/Lights/LightsWS.asmx"
            binding="basicHttpBinding" bindingConfiguration="LightsWSSoap"
            contract="LightsWS.LightsWSSoap" name="LightsWSSoap" />
        <endpoint address="http://xxx/Lights/LightsWS.asmx"
            binding="customBinding" bindingConfiguration="LightsWSSoap12"
            contract="LightsWS.LightsWSSoap" name="LightsWSSoap12" />
    </client>

Was ist los? Irgendwelche Ideen?

4voto

Greg Sansom Punkte 19667

Sie müssen Ihren Client-Endpunkt in der App.Config-Datei in Ihrer WPF-Anwendung konfigurieren.

Wenn noch keine App.Config-Datei vorhanden ist, können Sie eine erstellen, indem Sie ein neues Element zu Ihrem Projekt hinzufügen und "Application Configuration File" auswählen.

Der Inhalt von App.Config sollte etwa so aussehen:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <client>
      <endpoint binding="wsHttpBinding" contract="LightsWS.LightsWSSoap" name="LightsWSSoap"  />
    </client>
  </system.serviceModel>
</configuration>

Es gibt eine Menge detaillierter Informationen auf MSDN - http://msdn.microsoft.com/en-us/library/ms731745%28VS.90%29.aspx .

2voto

The Smallest Punkte 5553

Sie sollten die Datei app.config mit der Definition Ihres Endpunkts hinzufügen. Normalerweise wird sie von Visual Studio erstellt. Aber wenn Sie Ihre ServiceReference in einer anderen Assembly erstellt haben (z.B. in einer separaten dll), dann kopieren Sie einfach app.config aus dieser Assembly in Ihre WpfApplication.

0voto

SteveCav Punkte 6441

Probieren Sie die Ideen in dieses Thema , insbesondere die Namensräume.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X