Привет! Недавно я обновил свой клиент 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 [], смещение Int32, размер Int32)
Вот моя клиентская связка
<binding name="StreamingBinding_Kerberos">
<gzipMessageEncoding innerMessageEncoding="textMessageEncoding"
maxArrayLength="2147483647" />
<security authenticationMode="KerberosOverTransport"/>
<httpsTransport transferMode="StreamedResponse"
maxReceivedMessageSize="536870912"
authenticationScheme="Anonymous" />
</binding>
Вот конечная точка, которую я использую:
Я возвращаю поток из метода 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>
Пожалуйста, помогите!