Sintomas
Tenha em conta o seguinte cenário:
- O computador está a executar o Windows 7 ou Windows Server 2008 R2.
- O computador está a executar o serviço Windows Communication Foundation (WCF) e o serviço está alojado nos Serviços de Informação Internet (IIS). O serviço utiliza o protocolo HTTP ou HTTPS e está a utilizar a Autenticação do Windows.
- Instale algumas atualizações do Microsoft .NET Framework 3.0 Service Pack 2 ou .NET Framework 3.5 Service Pack 1 para WCF. Por exemplo, instala a atualização de segurança 2756920.
Neste cenário, poderá receber uma mensagem de erro de exceção semelhante à seguinte na página pedida:
Nota
Erro do Servidor na Aplicação "/SecurtyTokenServiceApplication"
Método não encontrado: "System.String
System.ServiceModel.Ativation.iis7helper.extendedprotectiondotlessspnnotenabledthrowhelper(system.object)"
Por exemplo, poderá receber a mensagem de erro quando aceder a um site do Microsoft SharePoint 2010.
Quando este problema ocorre, também poderá receber a seguinte mensagem de erro no registo de eventos no servidor:
Nota
O WebHost não conseguiu processar um pedido.
Informações do Remetente: System.ServiceModel.ServiceHostingEnvironment+HostingManager/17653682
Exceção: System.ServiceModel.ServiceActivationException: o serviço "/SecurityTokenServiceApplication/securitytoken.svc" não pode ser ativado devido a uma exceção durante a compilação.
A mensagem de exceção é: Método não encontrado: "System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)". --->
System.MissingMethodException: Método não encontrado: "System.String System.ServiceModel.Activation.Iis7Helper.ExtendedProtectionDotlessSpnNotEnabledThrowHelper(System.Object)".
em System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.BuildExtendedProtectionPolicy(ExtendedProtectionTokenChecking tokenChecking, ExtendedProtectionFlags flags, List'1 spnList)
em System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.WebConfigurationManagerWrapper.GetExtendedProtectionPolicy(elemento ConfigurationElement)
em System.ServiceModel.WasHosting.MetabaseSettingsIis7V2.ProcessWindowsAuthentication(String siteName, String virtualPath, HostedServiceTransportSettings& transportSettings)
Causa
Este problema ocorre porque o computador pode ter algumas correções instaladas que continham apenas System.ServiceModel.dll e não System.ServiceModel.WasHosting.dll. Consulte a secção "Mais Informações" para obter uma lista de correções conhecidas por conterem apenas estes ficheiros.
Devido a este problema, a atualização mais recente não consegue instalar a mesma versão de ambos os ficheiros. Esta ação expõe uma dependência entre os dois ficheiros. Isto, por sua vez, causa a exceção mencionada anteriormente. Este problema ocorre devido a um problema nas correções anteriormente lançadas e não é causado especificamente pela nova atualização. A nova atualização apenas faz com que o problema seja apresentado.
Resolução
Para resolver este problema, certifique-se de que as versões de System.ServiceModel.dll e System.ServiceModel.WasHosting.dll estão sincronizadas.
Para resolver este problema, instale o 2637518 de atualização ou qualquer correção do .NET Framework 3.0 SP2 que contenha ambas as assemblagens.
Recomendamos que instale a atualização 2637518 para resolver este problema. No entanto, esta correção destina-se a corrigir apenas o problema descrito neste artigo. Aplique esta correção apenas a sistemas com este problema específico.
Para transferir esta correção a partir do Centro de Transferências da Microsoft, aceda à seguinte página Web do Centro de Transferências da Microsoft:
http://go.microsoft.com/fwlink/?LinkID=242859 Nota Se já estiver a ter este problema, instale a atualização 2637518. Não é necessário reinstalar a atualização que causou este problema.
Requisito de reinício
Poderá ter de reiniciar o computador depois de aplicar esta atualização.
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Mais Informações
As correções seguintes podem causar este problema se estiverem instaladas num computador com o Windows 7 ou Windows Server 2008 R2 RTM e se não estiverem instaladas novas atualizações do .NET Framework 3.5 SP1 para WCF. Para obter mais informações, clique nos seguintes números de artigo para ver os artigos na Base de Dados de Conhecimento Microsoft:
976462 Está disponível uma correção para o the.NET Framework 3.5 Service Pack 1 para o Windows 7 e para Windows Server 2008 R2 como pré-requisito do Microsoft Office SharePoint Server 2010
977420 Está disponível um rollup de correções para corrigir problemas no Windows Communication Foundation no .NET Framework 3.5 SP1 para Windows 7 e para Windows Server 2008 R2
982867 serviços WCF alojados por computadores, juntamente com um NLB, falham no .NET Framework 3,5 SP1 ou no .NET Framework 4