Uma aplicação baseada em XML utiliza muita memória quando vários threads chamar o método SelectSingleNode ao mesmo tempo no Windows XP SP3, no Windows Vista ou no Windows Server 2008

Traduções de Artigos Traduções de Artigos
Artigo: 960064 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário no Windows XP Service Pack 3 (SP3), no Windows Vista ou no Windows Server 2008:
  • Está a executar uma aplicação baseada em XML que utilize o Microsoft Core XML Services (MSXML) 6.0.
  • A aplicação é multithread.
  • A aplicação utiliza um objecto FreeThreadedDOMDocument no MSXML 6.0 para carregar um ficheiro XML no thread principal.
  • A aplicação cria subordinado vários threads que aceder ao objecto FreeThreadedDOMDocument .
  • Estes threads chamar o método SelectSingleNode ao mesmo tempo.
Neste cenário, a memória atribuída pelo MSXML 6.0 aumenta rapidamente. Eventualmente, a aplicação não é possível criar novo subordinado threads. Ou, as falhas de aplicações e, em seguida, recebe uma mensagem de erro "memória esgotada".

Resolução

Informações sobre a correcção para o Windows XP

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentada, submeta um pedido para o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Para aplicar esta correcção, o computador tem de ter Windows XP Service Pack 3.

Requisito de reinício

Terá de reiniciar o computador depois de aplicar esta correcção.

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

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

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, utilize o separador fuso horário no item data e hora no painel de controlo.
Windows XP SP3, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Msxml6.dll6.20.1101.01,382,40007-Jan-200913: 06x 86

Informações sobre a correcção para Windows Vista e Windows Server 2008

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção 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 pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Importantes as correcções do Windows Vista e Windows Server 2008 estão incluídas nos pacotes do mesmos. No entanto, apenas um destes produtos pode ser listado na página ? correcção pedido ?. Para pedir o pacote de correcção que se aplica ao Windows Vista e Windows Server 2008, seleccione apenas o produto que esteja listado na página.

Pré-requisitos

Para aplicar esta correcção, o computador tem de ter um dos seguintes procedimentos:
  • Windows Vista
  • Windows Vista SP1
  • Windows Server 2008

Requisito de reinício

Terá de reiniciar o computador depois de aplicar esta correcção.

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

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

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, utilize o separador fuso horário no item data e hora no painel de controlo.
Windows Vista e Windows Server 2008, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Msxml6.dll6.20.1100.01,341,44020 De Novembro de 200808: 41x 86
Msxml6r.dll6.0.3883.0204820 De Novembro de 200808: 41x 86
Msxml6.dll6.20.1100.01,334,27220 De Novembro de 200808: 49x 86
Msxml6r.dll6.0.3883.0204820 De Novembro de 200808: 45x 86
Windows Vista e Windows Server 2008, versões baseadas em 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Msxml6.dll6.20.1100.01,761,79220 De Novembro de 200808: 43x 64
Msxml6r.dll6.0.3883.0204820 De Novembro de 200808: 43x 64
Msxml6.dll6.20.1100.01,730,04820 De Novembro de 200810: 10x 64
Msxml6r.dll6.0.3883.0204820 De Novembro de 200810: 03x 64
Windows Server 2008, versões baseadas em Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Msxml6.dll6.20.1100.03,759,61620 De Novembro de 200810: 30IA-64
Msxml6r.dll6.0.3883.0204820 De Novembro de 200810: 12IA-64

Como contornar

Para contornar este problema, utilize o objecto ' DOMDocument ' (modo de thread único) em vez do objecto FreeThreadedDOMDocument . No entanto, este método poderá afectar significativamente o desempenho da aplicação.

Ponto Da Situação

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

Mais Informação

Para obter mais informações sobre MSXML, visite o seguinte Web site da Microsoft:
http://msdn.microsoft.com/en-us/xml/bb291077.aspx
Para mais informações sobre o método selectSingleNode , visite o seguinte Web site da Microsoft:
http://msdn.microsoft.com/en-us/library/ms757846(vs.85).aspx
Para mais informações sobre o objecto ' DOMDocument ' , visite o seguinte Web site da Microsoft:
http://msdn.microsoft.com/en-us/library/aa923288.aspx
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684 Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 960064 - Última revisão: 8 de abril de 2009 - Revisão: 1.2
A informação contida neste artigo aplica-se a:
  • Microsoft XML Core Services 6.0
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows Vista Business
  • Windows Vista Business 64-bit edition
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Ultimate
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
Palavras-chave: 
kbmt kbautohotfix kbexpertiseadvanced kbfix kbsurveynew kbqfe kbhotfixserver KB960064 KbMtpt
Traduçã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: 960064

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com