0
<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="ep1" 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:57582/Service1.svc" binding="basicHttpBinding"
                bindingConfiguration="ep1" contract="ServiceReference1.IService1"
                name="ep1" />
        </client>
    </system.serviceModel>
</configuration>

これは自動生成されたapp.configファイルのクライアントエンドポイントの構成ですが、それでも次のエラーが発生します: ServiceModelクライアント構成セクションで名前「ep1」およびコントラクト「ServiceReference1.IService1」のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、この名前に一致するエンドポイント要素がクライアント要素で見つからなかったことが原因である可能性があります。

::を使用してサービスを利用しています

Service1Client wcf = new Service1Client("ep1")

ここに画像の説明を入力してください


現在機能しています。自動生成されたapp.configファイルからソリューション全体のweb.configでクライアントエンドポイントを定義しました。現在機能しています。

4

2 に答える 2

1

これがWindowsアプリケーションプロジェクトの場合は、「アプリケーション構成ファイル」を追加する必要があります(名前はapp.configのままにします)。プロジェクトのルートにすでにファイルがある場合は、問題ありません。

Webプロジェクトの場合は、web.configをターゲットにする必要があります。

次に、上記の構成をその構成にコピーしてから、再構築して実行します。その後、動作するはずです。

于 2012-05-30T12:41:28.407 に答える
0

ほぼ確実に、実行中のコードが、このエンドポイントが定義されていない構成ファイルから読み取っています。ビルド出力の場所から構成ファイルを見ていると確信していますか?

私の推測では、設定ファイルでcopy local=trueを設定する必要があります。

于 2012-05-30T12:37:16.553 に答える