2010-06-09 62 views
14

问候,安装WindowsXP更新后的WCF服务错误

今天在我开始处理我的应用程序之前,我更新了我的WinXP。所有更新安装完毕后,我的WCF服务停止工作。有一个下面的错误,当我尝试在浏览器中打开service.svc文件:

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"> 

矿的同事试图运行更新之前相同的服务,它工作正常。安装更新后,他遇到同样的问题。有人可以帮帮我吗?

+0

我无法重现,对不起 - 既WCF 3.5和4 .svcs我在升级后运行良好,而不重新编译: - /这听起来像你重新运行3.5,你现在有两个程序集不兼容:有两个.NET 3.5SP1更新,KB982168和KB979909 - 你确实安装了两个?否则,我没有任何好的想法 - 通常的'ServiceModelReg -i'值得尝试,但看起来不像是问题。 – Rup 2010-06-09 09:51:15

+0

它好像我没有KB982168。我在哪里可以找到它?我无法在MS更新网站上找到它。 – 2010-06-09 10:04:05

+0

即使在安装上述更新后,问题仍然存在 – 2010-06-09 10:37:52

回答

5

到目前为止,问题的确似乎来自更新KB982168,并且仅在2003服务器上。 Microsoft支持怀疑HttpTransportSecurity构造函数中的一个错误,该错误尝试实例化ExtendedProtectionPolicy对象,但该类在2003服务器(或XP计算机)上的system.dll中不存在(可以使用反射器进行检查)。它确实存在于2008或Vista及更高版本的DLL上。如果问题得到确认,我认为很快就会发布一个热修复。同时建议不要安装更新。有消息通知你。

+0

有没有关于这个问题的任何官方评论或建议从微软? – 2010-06-10 13:00:30

+0

还没有,支持人员告诉我他们会在2到3天内回复我,并提供更多信息。 – 2010-06-10 15:15:15

+0

问候,有没有来自微软的其他反馈? – 2010-06-14 06:17:02

3

我通过卸载KB976769v2修复了该问题。

1

我向微软报告了错误。我会等待技术支持人员的电话。

+0

好的,请在这里分享答案;) – 2010-06-09 13:39:51

+0

别担心,我会的。同时我正试图解除更新KB982168以查看它是否解决了问题,因为它为您做了。 – 2010-06-09 13:48:55

+0

我unistalled KB979909,它现在解决了这个问题以及... 我还在等待微软的反馈。 – 2010-06-09 14:42:55

5

此问题是由路径安装程序的错误行为组件导致的。这存在于多个修补程序中,并且可能导致安装顺序不正确或跳过安装修补程序。

以下是Microsoft支持团队解决此问题的最新解决方案。

  • 安装KB982168,它应该重现错误。
  • 注意的%WINDIR%的版本\ Microsoft.NET \框架\ V2.0.50727 \ system.dll中(应该是2.0.50727.3053)
  • 下载KB975954修补程序: https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=26146
    你需要挑包对应于您的操作系统 架构 :NDP20SP2-KB975954-x86.exe程序(MSI),NDP20SP2-KB975954-x64.exe程序(MSI),NDP20SP2-KB975954-ia64.exe程序(MSI)
  • 安装适当的修补程序您的操作系统建筑。
  • 从提升提示下面的命令行:
    MSIEXEC/F {C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}
  • 检查的%WINDIR%的版本\ Microsoft.NET \框架\ V2.0.50727 \ system.dll(应该是2.0.50727.4443)

我在测试服务器上安装了它,它解决了这个问题。

毫无疑问,这将很快整合在Windows Update上。

希望这会有所帮助。

+0

不介意知道在该GUID上运行msiexec实际上*做了什么*,但无论它做了什么,它似乎已经修复了一切。所以这很酷。 – neminem 2010-06-22 15:32:11

+1

msiexec/f是laucnh来修复产品或程序包,并且GUID独立于.NET Framework 2.0 SP2的GUID。更多信息:http://blogs.msdn.com/b/astebner/archive/2009/04/16/9553804.aspx – 2010-06-23 14:19:45

5

我只是想向大家报告,针对此问题的官方知识库文章已经张贴在以下位置:http://support.microsoft.com/kb/2262911

上述解决办法是正确的,是你将在知识库文章中找到相同的解决方法。

KB文章中提供的修补程序已经过验证,可以解决安装问题以及生产环境的安全问题。我们还将在知识库文章中发布Fix-It修补程序,以无缝解决此问题,而无需通过解决方法步骤。鉴于我们已确定此问题的根本原因,导致安装失败的所有以前的修补程序将被适当更新。

WCF应用程序被解除封锁并能够在所有机器上成功安装Windows Update KB#982167和/或982168,这一点很重要。如果您已经卸载了Windows Update,请按照知识库文章在您的计算机上获取此更新。

很抱歉给您带来不便。

感谢,

埃里卡 微软程序经理