こんにちは、最近、WPF クライアントと WCF サービスを .Net 3.5 から .Net 4.0 にアップグレードしました。アップグレード後、KerberosOverTransport を使用すると次のエラーが発生し始めました。
System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Read(Byte[] buffer) で、既存の接続がリモート ホストによって強制的に閉じられました。 、Int32 オフセット、Int32 サイズ)
これが私のクライアント側のバインディングです
<binding name="StreamingBinding_Kerberos">
<gzipMessageEncoding innerMessageEncoding="textMessageEncoding"
maxArrayLength="2147483647" />
<security authenticationMode="KerberosOverTransport"/>
<httpsTransport transferMode="StreamedResponse"
maxReceivedMessageSize="536870912"
authenticationScheme="Anonymous" />
</binding>
私が使用しているエンドポイントは次のとおりです。 TestService メソッドから Stream を返しています。これはすべて.Net 3.5で正常に機能していましたが、.Net 4.0にアップグレードするとすぐに、すべてが機能しなくなりました。Net 4.0 アップグレード後でも問題なく動作する UsernameOverTransport を使用した別のバインディングがあります。
<binding name="StreamingBinding_Username">
<gzipMessageEncoding innerMessageEncoding="textMessageEncoding"
maxArrayLength="2147483647" />
<security authenticationMode="UserNameOverTransport"/>
<httpsTransport transferMode="StreamedResponse"
maxReceivedMessageSize="536870912"
authenticationScheme="Anonymous" />
</binding>
助けてください!