2010-12-16 5 views
1

실제로 서비스 참조를 통해 WCF에 연결된 wpf 프로젝트 마녀를 만들려고하고 있습니다. 또한 wpf 프로젝트에서 MVVM 패턴을 사용하고 있으며 내에서 선언 할 때 문제가 있습니다. 내보기 CTOR serviceManager 모델!C# WPF 및 WCF 매핑 문제

내 view.xaml이 말합니다 : ServiceModel 클라이언트 구성 섹션에서 계약 'UserServiceReferences.IUserManagement'을 참조하는 기본 끝점 요소를 찾을 수 없습니다. 이는 응용 프로그램에 대한 구성 파일이 없거나이 계약에 일치하는 엔드 포인트 요소가 클라이언트 요소에 없기 때. 일 수 있습니다.

<?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> 

여기 내 WCF 서비스에서 내의 Web.config :

<?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> 

양태에서는 두 개의 프로젝트가 동일한 솔루션에

여기 내의 App.config 파일입니다.

나는 분실하게 도와주세요 !!!!

+0

web.config에서 serviceBehavior가 서버에 표시되지만 서비스 끝점은 어디에 정의되어 있습니까? 클라이언트가 서버의 내부를 알고 컴파일 중에 바운드되어 있지 않으면 클라이언트가 실제로 서버와 어떻게 대화합니까? (일어나지 않아야합니다) – jcolebrand

+0

web.config 파일이 자동으로 생성되었습니다. – Jaguar

답변

1

간단한 구성 개념을 사용하는 WCF 4.0을 사용하고 있으며 구성에 정의 된 끝 점이 없거나 코드를 통해 추가 된 끝점이없는 경우 기본 끝점을 추가합니다.

실제 문제와 관련하여 'UserServiceReferences.IUserManagement'예외의 계약 이름에 차이가 있으며 Endpoint "UserServiceReference.IUserManagement"에 정의 된 것을 볼 수 있습니다. 추가 네임 스페이스 'UserServiceReference (s)에주의하십시오. 오타가 아닌 경우 문제의 원인이 될 수 있습니다. 그렇지 않으면 올바른 구성 파일에 엔드 포인트가 정의되어 있는지 점검하십시오.

HTH.