1

私は実際に、サービス参照を介して WCF に接続された wpf プロジェクト ウィッチを作成しようとしています。また、wpf プロジェクトで MVVM パターンを使用しており、viewModel の CTOR で serviceManager を宣言すると問題が発生します。

私のview.xamlは私に言います:サービスモデルクライアント構成セクションでコントラクト「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サービスの私の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>

これらの 2 つのプロジェクトは同じソリューションにあります。

私は道に迷っています私を助けてください!!!!

4

1 に答える 1

1

単純化された構成概念を使用する WCF 4.0 を使用しており、エンドポイントが構成で定義されていないか、コードを介して追加されていない場合は、既定のエンドポイントを追加します。

実際の問題については、例外「UserServiceReferences.IUserManagement」とエンドポイント「UserServiceReference.IUserManagement」で定義されているコントラクト名に違いがあることがわかります。名前空間「UserServiceReference(s)」の余分な「s」に注意してください。タイプミスでない場合、それが問題の原因である可能性があります。そうでない場合は、エンドポイントが正しい構成ファイルで定義されていることを確認してください。

HTH。

于 2010-12-17T10:49:35.937 に答える