C# Endpoint für WCF definieren

KeepXtreme

Lt. Commander
Registriert
Sep. 2008
Beiträge
1.390
Endpoint für WCF fuunktioniert nicht

abend zusammen,

ich versuch mich gerade ein bischen an Client-Server-Kommunikation. Den Dienst habe ich soweit geschrieben und auf den IIS auf dem Server übertragen. Beim Aufruf der URL kommt auch die generische Übersichtsseite und auch VisualStudio findet die Dienstreferenz. Das Problem ist, dass, wenn ich meine Clientanwendung ausführe, eine Exception erhalte, dass der Endpoint "relay.svc/wshb" nicht auf dem Server gefunden werden konnte. Ich geh mal davon aus, dass ich bei der Servicekonfiguration nicht alles richtig gemacht habe, ich weiß jedoch nicht, was fehlt.

Meine Web.config (<Host> ist normalerweise die URL zur entsprechenden IIS Site):
Code:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="MPP_Server.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <!--<appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>-->
  <system.web>
    <compilation debug="true" targetFramework="4.5.1" />
    <httpRuntime targetFramework="4.5.1"/>
  </system.web>
  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="AppTransportSecurity">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <services>
      <service name="MPP_Server.relay" behaviorConfiguration="RelayServiceBehavior">
        <endpoint address="<host>/relay.svc/wshb" listenUri="/" contract="MPP_Server.Irelay" binding="wsHttpBinding" bindingConfiguration="AppTransportSecurity" />
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="RelayServiceBehavior">
          <!-- Legen Sie die Werte unten vor der Bereitstellung auf "false" fest, um die Veröffentlichung von Metadateninformationen zu vermeiden. -->
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <!-- Damit in Fehlern Ausnahmedetails zum Debuggen angezeigt werden, legen Sie den Wert unten auf "true" fest. Legen Sie ihn vor der Bereitstellung auf "false" fest, um die Veröffentlichung von Ausnahmeinformationen zu vermeiden. -->
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--
        Um das Stammverzeichnis der Webanwendung beim Debuggen auszuwählen, legen Sie den Wert unten auf "true" fest.
        Legen Sie ihn vor der Bereitstellung auf "false" fest, um die Veröffentlichung von Informationen über den Webanwendungsordner zu vermeiden.
      -->
    <directoryBrowse enabled="false"/>
  </system.webServer>
  <applicationSettings>
    <MPP_Server.Properties.Settings>
(...)
    </MPP_Server.Properties.Settings>
  </applicationSettings>
</configuration>


sieht jemand meinen Fehler?


edit://

Ich hab mir nochmal das geworfene Exception genauer angeschaut: Das Problem ist wohl, dass er nicht zum Server verbinden kann, da er eine Verbindung über IPv6 versucht obwohl auf meinem PC nur IPv4 geht...

edit2:// IP manuell in die hosts-Datei eingetragen, unschön aber funktioniert... Also kein endpoint-Problem
 
Zuletzt bearbeitet:
Zurück
Oben