1

WCFサービスを作成しています。初めてです。エラーが発生しました:

ServiceModelクライアント構成セクションでコントラクト'WCFClient.IWCFClient'を参照するデフォルトのエンドポイント要素が見つかりませんでした。

エンドポイント名などを切り替えて、サービス参照を削除/再作成してみました。何が問題なのかわからないようです。

アプリケーション構成:

<bindings>
    <basicHttpBinding>
         <binding name="BasicHttpBinding_IWCFClient" 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:4295/Services/WCFClient.svc"
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWCFClient"
            contract="WCFClient.IWCFClient" name="BasicHttpBinding_IWCFClient" />
    </client>

サービス構成:

 <services>
  <service behaviorConfiguration="WCFGraphicManagementTool.Services.WCFClientBehavior"
    name="WCFGraphicManagementTool.Services.WCFClient">
      <endpoint address="" name="BasicHttpBinding_IWCFClient" binding="basicHttpBinding" contract="WCFGraphicManagementTool.Contracts.IWCFClient">
    </endpoint>
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="WCFGraphicManagementTool.Services.WCFClientBehavior">
        <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        <serviceThrottling maxConcurrentCalls="120" maxConcurrentSessions="120" maxConcurrentInstances="120" />
        <serviceMetadata httpGetEnabled="True" />
        <serviceDebug includeExceptionDetailInFaults="True" />
    </behavior>
  </serviceBehaviors>
</behaviors>    
4

2 に答える 2

1

私はそれを理解しました。プロジェクトのweb.configにも追加する必要がありました。それはサービスの中にありましたが、プロジェクトにはありませんでした。

于 2011-05-01T04:03:57.627 に答える
0

これは通常、構成ファイルで指定されているサービス名/名前空間と、ソースコードの契約名またはサービスファイルのマークアップとの不一致が原因です。通常、Visual Studioを介して新しいサービスを作成し、サービス/名前空間の名前を変更した後に発生します。

ソリューションエクスプローラーで.svcファイルを右クリックし、[マークアップの表示]を選択します

'Service'属性値が正しいかどうかを確認してください。名前空間と名前の両方が、割り当てたものと一致するかどうかを確認してください。

次のようになります。

<%@ ServiceHost Language="C#" Debug="true" Service="WCFGraphicManagementTool.Services.WCFClient" CodeBehind="WCFClient.svc.cs" %>
于 2011-04-29T14:22:26.203 に答える