嗨,我最近将我的 WPF 客户端和 WCF 服务从 .Net 3.5 升级到了 .Net 4.0。升级后,我在使用 KerberosOverTransport 时开始出现以下错误:
远程主机在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, 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 方法返回一个 Stream。所有这些在 .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>
请帮忙!