Привет, я недавно обновил свой клиент WPF и службы WCF с .Net 3.5 до .Net 4.0. После обновления я начал получать следующую ошибку при использовании KerberosOverTransport:
Существующее соединение было принудительно закрыто удаленным хостом в System.Net.Sockets.Socket.Receive (буфер Byte [], смещение Int32, размер Int32, SocketFlags socketFlags) в 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>
Вот конечная точка, которую я использую: я возвращаю Stream из метода TestService. Все это нормально работало с .Net 3.5, но как только мы обновились до .Net 4.0, все это перестало работать. У нас есть еще одна привязка, использующая UsernameOverTransport, которая работает без проблем даже после обновления .NET 4.0.
<binding name="StreamingBinding_Username">
<gzipMessageEncoding innerMessageEncoding="textMessageEncoding"
maxArrayLength="2147483647" />
<security authenticationMode="UserNameOverTransport"/>
<httpsTransport transferMode="StreamedResponse"
maxReceivedMessageSize="536870912"
authenticationScheme="Anonymous" />
</binding>
Пожалуйста помоги!