WCF service errors after installing WindowsXP upda

2020-02-09 02:52发布

问题:

Greetings,

today before I start working on my application I updated my WinXP. After all updates have been installed my WCF service stop working. There is a following error when I try to open service.svc file in the browser:

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: An error occurred creating the configuration section handler for system.serviceModel/bindings: Could not load type 'System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement' from assembly 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Source Error: 


Line 131:       </behaviors>
Line 132:
Line 133:       <bindings>
Line 134:           <wsHttpBinding>
Line 135:               <binding name="MyWSHttpBinding" maxReceivedMessageSize="2147483647">

The colleague of mine tried to run the same service before update and it works fine. He has the same problem after installing updates. Can someone please help me?

回答1:

So far, the problem indeed seems to come from the update KB982168 and only on 2003 servers. Microsoft support suspects a bug in the HttpTransportSecurity constructor that tries to instantiate a ExtendedProtectionPolicy object, but this class does not exist in system.dll on a 2003 server (or XP machines) (you can check with reflector). And it is indeed present on the DLL on a 2008 or Vista and above. If the problem is confirmed, I think there will be a hot fix released very soon. Meanwhile it is recommended to not install the update. I'll keep you informed.



回答2:

I just wanted to report that the official KB article for this issue has been posted at the following location: http://support.microsoft.com/kb/2262911

The workaround outlined above is correct and is the same workaround that you will find in this KB article.

The patch provided in the KB article has been validated to resolve the installation issue as well as safe for production environments. We will also be publishing in the KB article a Fix-It patch to seamlessly resolve this issue without needing to go through the workaround steps. Given that we have identified the root cause of this issue, all previous hotfixes which cause the installation failure will be updated appropriately.

It is important that WCF applications are unblocked and able to successfully install Windows Update KB # 982167 and/or 982168 on all machines. If you have uninstalled the Windows Update, please follow the KB article to get this update on your machine.

Sorry for this inconvenience.

Thanks,

Erica Microsoft Program Manager



回答3:

The problem is caused by an incorrectly behaving component of the path installer.This is present in multiple hotfixes, and may cause an incorrect installation order or skipping installation of a patch.

Here is the hot fix to solve this issue given by Microsoft support team.

  • install KB982168, which should reproduce the error.
  • Note the version of %WINDIR%\Microsoft.NET\Framework\v2.0.50727\system.dll (should be 2.0.50727.3053)
  • download the KB975954 hotfix: https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=26146
    You would need to pick the package corresponding to your OS architecture: NDP20SP2-KB975954-x86.exe (MSI), NDP20SP2-KB975954-x64.exe (MSI), NDP20SP2-KB975954-IA64.exe (MSI)
  • Install the appropriate hotfix for your OS architecture.
  • Run the following command line from an elevated prompt:
    msiexec /f {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}
  • Check the version of %WINDIR%\Microsoft.NET\Framework\v2.0.50727\system.dll (Should be 2.0.50727.4443)

I installed this on a test server and it solved the problem.

No doubt that this will be soon integrated on windows update.

Hope this helps.



回答4:

I fixed that issue by uninstalling KB976769v2.



回答5:

I have reported the error to Microsoft. I'll wait for the call from technical support.