netTcpBinding
の代わりにWCFサービスを動作させようとしていますが、動作wsHttpBinding
させられないようです。
net.tcp
IIS7.5にバインディングを追加しましたが、ステータスは不明です( httpバインディングも削除すると、サイトに大きな赤いXが表示され、設定に再度アクセスする前に、新しいhttpバインディングを追加する必要があります)。私はすでにこことGoogleを調べましたが、真の解決策がなければ、この問題に関する投稿は2つか3つしか見つかりませんでした。
私が持っているもの:
- WASサービスが実行されており、Net。*サービスも実行されていました。
- IISの[詳細設定]にnet.tcpを追加しました。
- WCFnon-httpがインストールされています。
netstatで、指定したポート809でリッスンしていることを示すTCPリスナーが実行されているようです。また、ファイアウォールメッセージが表示されます(ファイアウォール/アンチウイルスを無効にしようとしましたが、役に立ちませんでした)。
WCFテストクライアントの結果、次のエラーが発生します。
エラー:net.tcp:// localhost:809/MyService.svcからメタデータを取得できません
私のWeb.config(主にMSDNからコピーされたもので、適切なレイアウトについてはhttp://pastebin.com/Ru8p0T9Nを参照してください):
<services>
<service behaviorConfiguration="MyBehavior" name="WCFService.MyService">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="Binding1" name="MyServiceEndpoint" contract="WCFService.MyService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" name="MyServiceMexTcpBidingEndpoint" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:809/MyService.svc" />
</baseAddresses>
</host>
</service>
</services>
<behavior name="MyBehavior">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<netTcpBinding>
<binding name="Binding1"hostNameComparisonMode="StrongWildcard"sendTimeout="00:10:00"maxReceivedMessageSize="65536"transferMode="Buffered"portSharingEnabled="true">
<security mode="Message">
<transport clientCredentialType="None" />
<message clientCredentialType="None" />
</security>
</binding>
</netTcpBinding>
すべてが正常に機能しますが、では機能wsHttpBinding
しませんnet.tcp
。複数のソースからWeb.configでいくつかの異なる設定を試しましたが、同じ問題が発生し続けます。