Artigo: 959546 - Última revisão: quarta-feira, 1 de Abril de 2009 - Revisão: 1.2

CORRECÇÃO: Uma aplicação de browser XAML devolve um erro de excepção de segurança quando utiliza a aplicação para ligar o serviço WCF em fidedignidade parcial

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Um serviço do Windows Communication Foundation (WCF) que esteja hospedado em Serviços de informação Internet (IIS) está configurado para utilizar o enlace de BasicHttpBinding e a autenticação WindowsAuthentication. Quando utilizar uma aplicação de browser XAML (XBAP) para ligar o serviço WCF em fidedignidade parcial, a aplicação de browser XAML devolve um erro de excepção de segurança. Além disso, receberá uma mensagem de erro semelhante à seguinte:
System.Security.SecurityException: Pedido da permissão do tipo ' System.Net.WebPermission, System, versão = x, idioma neutro, PublicKeyToken = = y falhou.
notas
  • X representa o número de versão.
  • S representa o ID do token.
  • Este problema não ocorre com fidedignidade total.

Causa

Este problema ocorre porque a propriedade HttpWebRequest.UnsafeAuthenticatedConnectionSharing estiver definida como TRUE para activar a partilha de ligação à autenticado por NTLM. Esta propriedade estiver definida como TRUE para optimização do desempenho. No entanto, o comportamento de setter exige uma permissão Web sem restrições. A fidedignidade parcial não fornece esta permissão. Como tal, a aplicação devolve um erro de excepção de segurança.

Resolução

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone de suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

Pré-requisitos

Tem de ter o .NET Framework 3.5 Service Pack 1 instalado para aplicar esta correcção.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção se nenhuma instância do .NET Framework está a ser utilizado.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local e utilizar o fuso horário separador na data e hora item do painel de controlo.
x 86 versão no Windows Server 2000, Windows Server 2003 e no Windows XP
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
System.Runtime.serialization.dll3.0.4506.4019970,75229 De Janeiro de 200900: 21x 86
System.ServiceModel.dll3.0.4506.40195,931,00829 De Janeiro de 200900: 21x 86
x 64 versão no Windows Server 2000, Windows Server 2003 e no Windows XP
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
System.Runtime.serialization.dll3.0.4506.4019847,87228 De Janeiro de 200921: 46x 64
System.Runtime.serialization.dll3.0.4506.4019970,75229 De Janeiro de 200900: 21x 86
System.ServiceModel.dll3.0.4506.40195,267,45628 De Janeiro de 200921: 46x 64
System.ServiceModel.dll3.0.4506.40195,931,00829 De Janeiro de 200900: 21x 86
x 86 versão para Windows Vista SP1, Windows Server Core e Windows Server 2008
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
System.ServiceModel.dll3.0.4506.40375,931,00812-Fev-200900: 28x 86
versão de 64 para o Windows Vista SP1, Windows Server Core e Windows Server 2008 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
System.ServiceModel.dll3.0.4506.40375,267,45612-Fev-200900: 34x 64
System.ServiceModel.dll3.0.4506.40375,931,00812-Fev-200900: 28x 86
Versão baseada em Itanium para o principal do servidor de Windows e Windows Server 2008
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
System.ServiceModel.dll3.0.4506.40375,267,45611-Fev-200923: 28IA-64
System.ServiceModel.dll3.0.4506.40375,931,00812-Fev-200900: 28x 86

Como contornar

Para contornar este problema, defina a propriedade HttpWebRequest.UnsafeAuthenticatedConnectionSharing como FALSE quando estiver a utilizar fidedignidade parcial.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Referências

Para mais informações sobre a funcionalidade de fidedignidade parcial, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/bb412186.aspx (http://msdn.microsoft.com/en-us/library/bb412186.aspx)
Para mais informações sobre a propriedade HttpWebRequest.UnsafeAuthenticatedConnectionSharing , visite o seguinte site da Web MSDN:
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.unsafeauthenticatedconnectionsharing(VS.71).aspx (http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.unsafeauthenticatedconnectionsharing(VS.71).aspx)

A informação contida neste artigo aplica-se a:
  • Windows Communication Foundation
Palavras-chave: 
kbmt kbhotfixserver kbexpertiseadvanced kbqfe kbsurveynew KB959546 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 959546  (http://support.microsoft.com/kb/959546/en-us/ )