c#WPF与WCF映射问题

c#WPF与WCF映射问题,c#,wpf,wcf,wcfserviceclient,C#,Wpf,Wcf,Wcfserviceclient,实际上,我正在尝试创建一个通过服务引用连接到WCF的wpf项目,我还在wpf项目中使用MVVM模式,当我在viewModel的CTOR中声明serviceManager时,我遇到了一个问题 My view.xaml告诉我: 在ServiceModel客户端配置节中找不到引用约定“UserServiceReferences.IUserManagement”的默认终结点元素。这可能是因为找不到应用程序的配置文件,或者在客户端元素中找不到与此约定匹配的端点元素 这是我的App.config文件: &l

实际上,我正在尝试创建一个通过服务引用连接到WCF的wpf项目,我还在wpf项目中使用MVVM模式,当我在viewModel的CTOR中声明serviceManager时,我遇到了一个问题

My view.xaml告诉我: 在ServiceModel客户端配置节中找不到引用约定“UserServiceReferences.IUserManagement”的默认终结点元素。这可能是因为找不到应用程序的配置文件,或者在客户端元素中找不到与此约定匹配的端点元素

这是我的App.config文件:

<?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服务中的my 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>

这两个项目在同一个解决方案中


我迷路了,请帮帮我

您使用的是WCF 4.0,它使用简化的配置概念,如果配置中未定义端点或通过代码添加端点,则将添加默认端点

关于实际问题,我发现异常“UserServiceReferences.IUserManagement”中的合同名称与端点“UserServiceReference.IUserManagement”中定义的合同名称有所不同。请注意命名空间UserServiceReference中的额外“s”。如果不是打字错误,那么这可能是问题的原因。否则,请检查端点是否在正确的配置文件中定义


HTH.

您使用的是WCF 4.0,它使用简化的配置概念,如果配置中未定义端点或通过代码添加端点,则将添加默认端点

关于实际问题,我发现异常“UserServiceReferences.IUserManagement”中的合同名称与端点“UserServiceReference.IUserManagement”中定义的合同名称有所不同。请注意命名空间UserServiceReference中的额外“s”。如果不是打字错误,那么这可能是问题的原因。否则,请检查端点是否在正确的配置文件中定义


HTH.

我在web.config中看到了服务器的serviceBehavior,但是服务端点是在哪里定义的?除非客户机知道服务器的内部结构,并且在编译期间(不应该发生)绑定到服务器,否则客户机实际上是如何与服务器通信的?web.config文件是自动生成的。我看到服务器的web.config中的serviceBehavior,但是服务端点是在哪里定义的?除非客户机知道服务器的内部结构,并且在编译(不应该发生)期间绑定到服务器,否则客户机实际上是如何与服务器通信的web.config文件是自动生成的