7

WCF - メッセージを受け入れることができる net.tcp://myserver:9000/SearchQueryService/Queries.svc でリッスンしているエンドポイントがありませんでした。

IIS アプリケーションで net.tcp プロトコルを有効にしています

Windows ファイアウォールがオフになっている

net.tcp バインディングは、IIS アプリケーション全体でポート 9000 に設定されています。

私のweb.configは非常に標準的です:

<system.serviceModel>
    <diagnostics>
      <messageLogging logMalformedMessages="true" logMessagesAtServiceLevel="false"
        logMessagesAtTransportLevel="true" />
    </diagnostics>
    <services>
      <service behaviorConfiguration="SearchQueryServiceBehavior" 
       name="Search.Querier.WCF.Querier">
        <endpoint address="mex" binding="mexHttpBinding" name="mexHttpEndpoint"
          contract="IMetadataExchange" />
        <endpoint binding="netTcpBinding" bindingConfiguration="" 
           name="netTcpEndpoint"
          contract="Search.Querier.WCF.IQuerier" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="SearchQueryServiceBehavior">

          <serviceMetadata httpGetEnabled="true"/>

          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

そして、このセットアップはあるサーバーでは機能しますが、他のサーバーでは機能しません...何が問題なのですか?

動作しているサーバーと動作していないサーバーの両方で IIS7 が実行されています。唯一の違いは、動作するボックスが Vista64 Sp2 であり、動作しないボックスが W2k864 であることです。

4

4 に答える 4

5

サイトの詳細設定の「プロトコルを有効にする」リストに net.tcp が表示されていないと思います。

于 2009-09-28T17:04:01.080 に答える
0

サービス(http://myserver/SearchQueryService/Querier.svc)を参照すると、エラーメッセージが表示されますか?

また、クライアントがポート9000でnet.tcpエンドポイントを呼び出していることにも気付きました。この構成はIISのnet.tcp構成と一致していますか?デフォルトの構成では、サービスへの呼び出しはnet.tcp://myserver/SearchQueryService/Querier.svcを指す必要があります

于 2009-09-28T19:37:47.420 に答える
0

w2k864 マシンに .net 3.5 がインストールされていますか? インストール後、aspnet_iisreg を実行しましたか?

IIS で asp.net の設定を確認し、2.0 を使用するように設定されていることを確認します。

もっと情報を提供できますか?

また、ホスト名ではなく IP を使用してみてください。例: myserver の代わりに 192.168.1.100

于 2009-09-25T19:44:28.200 に答える
0

同じポートでリッスンするように構成された別のアプリケーションがある可能性があります。これはここでも言及されていることがわかります - https://stackoverflow.com/a/7254861/4446128、その場合は両方のアプリケーションがオンになっている可能性があります同じポートが機能していません。理解するのに永遠に時間がかかったので、それが起こったときにもっと良いエラーメッセージがあればいいのにと思います(net.tcpを介して通信する多くのアプリに対処する必要がありました).この情報が、まだWCFを扱っている人にとって役立つことを願っています.

于 2020-11-14T04:34:32.200 に答える