Add service reference bei Verwendung netTcp binding

Ich habe einen WCF-service, dass ich getestet durch kopieren und seinen Schnittstellen zum eine Beispiel-client-Projekt aus.
Jetzt will ich richtig arbeiten, indem ein service-Referenz.
Der Dienst gehostet wird, in windows-hosting (mit installUtil).
Der service hat 2 Projekte - externe Verweise (Schnittstellen + datacontracts) und Interna (Implementierungen).
Für einige Grund es didn ' T haben eine app.config also ich habe eine manuell:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="ExecutionService" behaviorConfiguration="Default">
        <endpoint name="TCPEndpoint" address="" binding ="netTcpBinding" contract="Externals.IExecutionService"/>
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:3040/ExecutionService"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="Default">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Versuchen, um eine service-Referenz aus meinem Beispiel-client die folgende Fehlermeldung verursacht:

Metadata contains a reference that cannot be resolved: 'net.tcp://localhost:3040/ExecutionService/Externals.IExecutionService'.
There was no endpoint listening at net.tcp://localhost:3040/ExecutionService/Externals.IExecutionService that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
If the service is defined in the current solution, try building the solution and adding the service reference again.

Sah ich hier, dass es keine Notwendigkeit in der app.config.
Ich bin ein wenig verwirrt und ich bin ein Anfänger mit WCF.
Wie kann ein nettes WPF app Referenz von meinem Dienst? Ich möchte den service auf windows gehostet ist und ich nicht wollen, ziehen Sie die dlls mit mir.

Bearbeiten
Ich fügte hinzu, ein Metadaten-Endpunkt und meiner appconfig sieht nun wie folgt aus:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="ExecutionService" behaviorConfiguration="Default">
        <endpoint name="TCPEndpoint" 
                  address="" 
                  binding ="netTcpBinding" 
                  contract="Externals.IExecutionService"/>
        <endpoint address="mex" 
                  binding="maxHttpBinding" 
                  contract="Externals.IExecutionService"/>
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:3040/ExecutionService"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="Default">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Ich habe versucht, das hinzufügen einer service-Referenz mithilfe net.tcp://localhost:3040/ExecutionService, net.tcp://localhost:3040/ExecutionService/Externals und net.tcp://localhost:3040/ExecutionService/Externals/IExecutionService und ich bin noch immer der gleiche Fehler.

InformationsquelleAutor Noich | 2013-03-07

Schreibe einen Kommentar