2010-12-16 7 views
1

Ich versuche tatsächlich, ein WPF-Projekt zu erstellen, das mit der WCF über Services-Referenzen verbunden ist, ich benutze auch das MVVM-Muster in meinem WPF-Projekt und ich habe ein Problem, wenn ich in meinem erklären CTOR meines viewModels der serviceManager!C# WPF und WCF Mapping Problem

Meine view.xaml sagt mir: Das Standard-Endpunktelement, das auf den Vertrag 'UserServiceReferences.IUserManagement' im ServiceModel-Clientkonfigurationsabschnitt verweist, konnte nicht gefunden werden. Dies liegt möglicherweise daran, dass keine Konfigurationsdatei für Ihre Anwendung gefunden wurde oder dass kein Endpunktelement gefunden wurde, das diesem Vertrag entspricht.

hier ist meine App.config-Datei:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
       <binding name="BasicHttpBinding_IUserManagement" closeTimeout="00:01:00" 
        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
        useDefaultWebProxy="true"> 
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
         maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
        <security mode="None"> 
         <transport clientCredentialType="None" proxyCredentialType="None" 
          realm="" /> 
         <message clientCredentialType="UserName" algorithmSuite="Default" /> 
        </security> 
       </binding> 
      </basicHttpBinding> 
     </bindings> 
     <client> 
      <endpoint address="http://localhost:2981/UserManagement.svc" 
       binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IUserManagement" 
       contract="UserServiceReference.IUserManagement" name="BasicHttpBinding_IUserManagement" /> 
     </client> 
    </system.serviceModel> 
</configuration> 

und hier mein Web.config in meinem WCF-Dienst:

<?xml version="1.0"?> 
<configuration> 

    <system.web> 
     <compilation debug="true" targetFramework="4.0"> 
      <assemblies> 
      <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
      </assemblies> 
     </compilation> 
    </system.web> 

    <system.serviceModel> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior> 
      <!-- Pour éviter la divulgation des informations sur les métadonnées, définissez la valeur ci-dessous sur false et supprimez le point de terminaison des métadonnées ci-dessus avant le déploiement. --> 
      <serviceMetadata httpGetEnabled="true" /> 
      <!-- Pour recevoir les détails d'exception des erreurs à des fins de débogage, définissez la valeur ci-dessous sur true. Définissez-la sur false avant le déploiement pour éviter la divulgation des informations d'exception. --> 
      <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <!--<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />--> 
    </system.serviceModel> 


    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    </system.webServer> 
    <connectionStrings><add name="RssBddEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=JAGUAR-PC\SQLSERVER;Initial Catalog=RssBdd;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
</configuration> 

Thoses zwei Projekte sind in der gleichen Lösung.

Ich bin verloren bitte helfen Sie mir !!!!

+0

Ich sehe das ServiceBehavior in Ihrer web.config für den Server, aber wo ist der Service-Endpunkt definiert? Wie spricht der Client _actually_ mit dem Server, außer der Client kennt die Interna des Servers und ist während der Kompilierung daran gebunden (sollte nicht passieren) – jcolebrand

+0

Die Datei web.config wurde automatisch generiert – Jaguar

Antwort

1

Sie verwenden WCF 4.0, das vereinfachte Konfigurationskonzepte verwendet und Standardendpunkte hinzufügt, wenn keine Endpunkte in der Konfiguration definiert oder durch Code hinzugefügt wurden.

über das eigentliche Problem, sehe ich, dass es Unterschiede in Contract Name in der Ausnahme 'UserServiceReferences.IUserManagement' gibt und in Endpoint "UserServiceReference.IUserManagement" definiert. Bitte beachten Sie extra 's' im Namespace 'UserServiceReference (s). Wenn es kein Tippfehler ist, könnte das die Ursache des Problems sein. Überprüfen Sie andernfalls, ob die Endpunkte in der richtigen Konfigurationsdatei definiert sind.

HTH.