WCF: Could not connect to net.tcp://... after patching Win10 2004
Hello All, I got a strange issue about the WCF after patching Win 10 2004 update.
We implemented an application based on WCF+IIS, customer works well based on Win 10 1904 version, but it doesn't work after upgrading to 2004. In customer log, it says:
System.ServiceModel.EndpointNotFoundException: Could not connect to net.tcp://ecs-xxx/tcpbuffer. The connection attempt lasted for a time span of 00:00:21.0529749. TCP error code 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.39.164.62:808.
But I can use this command sucessfully to access it: svcutil.exe http://xxx/xxx/ModelService.svc?wsdl
Customer client OS ver is Win 10 (2004) + .net48 .
The service is Windows Server 2019 (1809) + .net47.
There is no any change on service side.
More info about service side, the Client also works well when installing our services on Windows Server 2012 R2 + .net45 even client OS patched to 2004.
What I have tried?
- In https://devblogs.microsoft.com/dotnet/net-framework-july-2020-cumulative-update-preview-for-windows-10-version-2004/, it says:
WCF2
When using a UPN Windows username with the format similar to username@乃士 董 .domain in the username property of a NetworkCredential when using NetTcpBinding or NetNamedPipeBinding, WCF would incorrectly split the username and dns.domain placing them into the UserName and Domain properties. This is invalid in some scenarios and would result in failing to authenticate. This fix removes the credential modification when using a UPN username. The modification can be re-enabled by setting the AppSetting “wcf:enableLegacyUpnUsernameFix” to true.
Our case should not be related to it.
More clues: telnet command failed:
Microsoft Telnet> o 10.39.164.62 808
Connecting To 10.39.164.62...Could not open connection to the host, on port 808: Connect failed
But another client without 2004 update can use this command successfully.