他の投稿にある解決策を検索して適用しようとしましたが、まだ問題を解決できません。
二重接続には wsDualHttpBinding を使用する必要があります。WCF サーバーと同じマシンでクライアントを実行しようとすると、完全に実行できますが、クライアントを同じドメインの他のマシンに移動すると、「呼び出し元はサービスによって認証されませんでした」というエラーが返されます。
ここに私のクライアントのapp.configがあります
<wsDualHttpBinding>
<binding name="duplexendpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" />
<security mode="Message">
<message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default"/>
</security>
</binding>
</wsDualHttpBinding>
次に、コードを介して資格情報を提供しようとしました:
client.ClientCredentials.Windows.ClientCredential.UserName = "serverusername";
client.ClientCredentials.Windows.ClientCredential.Password = "serverpassword";
client.ClientCredentials.Windows.ClientCredential.Domain = "serverdomain";
「クライアントは設定されたタイムアウト内にセキュリティネゴシエーションを終了できません」というエラーが表示されます
私の問題を解決する方法はありますか?ありがとう。