Существующее соединение было принудительно закрыто удаленным хостом Ошибка после обновления .Net 4.0 с .Net 3.5

Привет, я недавно обновил свой клиент 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>

Пожалуйста помоги!


person Gaurave Sehgal    schedule 02.11.2011    source источник
comment
Включена ли трассировка? Возможно ли, что возникла проблема с аутентификацией или, возможно, служба где-то выдает ошибку?   -  person Tim    schedule 03.11.2011
comment
Да, трассировка включена как на клиенте, так и на сервере, но она показывает все как обычно. Трассировка сетевых пакетов на сервере показывает, что он отправляет сигнал RST обратно клиенту.   -  person Gaurave Sehgal    schedule 05.11.2011


Ответы (1)


Если вы размещаете через IIS, убедитесь, что для свойства .NET Framework Version в вашем пуле приложений установлено значение v4.0.

person UnhandledExcepSean    schedule 03.11.2011