1

私は2つのアプリを持っています。1つはwcfサービスがホストされているwinformサーバーエンドで、もう1つはサービス参照を追加する必要があるwinformクライアントアプリです。svcファイルはありません。したがって、winform wcf クライアント側でサービス プロキシを作成しようとしているときに、次のような URL を入力するだけです

http://localhost:7998/WPFHost/ または net.tcp://localhost:7997/WPFHost/サービス参照を介してサービスを追加し、エラーを取得する場合。 メタデータに解決できない参照が含まれています: 'net.tcp://localhost:7997/WPFHost/'。

ここでは、wcf がホストされている wcf サーバー エンドの完全な app.config ファイル データを貼り付けています。サービス参照を追加しても追加できないapp.configの何が問題なのか教えてください。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
    <services>
        <service name="WCFService.Service"
                 behaviorConfiguration="behaviorConfig">

            <host>
                <baseAddresses>
                    <add baseAddress="net.tcp://localhost:7997/WPFHost/"/>
                    <add baseAddress="http://localhost:7998/WPFHost/"/>
                </baseAddresses>
            </host>
            <endpoint address="tcp"
                      binding="netTcpBinding"
                      bindingConfiguration="tcpBinding"
                      contract="ServiceAssembly.IChat"/>

            <endpoint address="net.tcp://localhost:7996/WPFHost/mex"
                      binding="mexTcpBinding"
                      contract="IMetadataExchange"/>
        </service>
    </services>
    <behaviors>
        <serviceBehaviors>
            <behavior name="behaviorConfig">
                <serviceMetadata httpGetEnabled="true" httpGetUrl=""/>
                <serviceDebug includeExceptionDetailInFaults="true"/>
                <serviceThrottling maxConcurrentCalls="100" maxConcurrentSessions="100"/>
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <bindings>
        <netTcpBinding>
            <binding name="tcpBinding"
                     maxBufferSize="67108864"
                     maxReceivedMessageSize="67108864"
                     maxBufferPoolSize="67108864"
                     transferMode="Buffered"
                     closeTimeout="00:00:10"
                     openTimeout="00:00:10"
                     receiveTimeout="00:20:00"
                     sendTimeout="00:01:00"
                     maxConnections="100">
                <security mode="None">
                </security>
                <readerQuotas maxArrayLength="67108864"
                              maxBytesPerRead="67108864"
                              maxStringContentLength="67108864"/>
                <reliableSession enabled="true" inactivityTimeout="00:20:00"/>
            </binding>
        </netTcpBinding>
    </bindings>
</system.serviceModel>
    </configuration>
4

1 に答える 1

0

ポート 7996 にあるmexアドレスへのサービス プロキシを作成してみてください。

net.tcp://localhost:7996/WPFHost/mex
于 2012-12-16T17:42:33.403 に答える