CORRECÇÃO: Mensagem de erro quando executa uma aplicação Web ASP.NET 2.0 que se baseia no .NET Framework 2.0: "O construtor para anular a serialização um objecto do tipo '< objecto personalizado >' não foi encontrado"

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

Nesta página

Sintomas

Considere o seguinte cenário. Instalar a actualização de MS07-040. Executar uma aplicação de Web do Microsoft ASP.NET 2.0 criada no Microsoft .NET Framework 2.0. Neste cenário, poderá receber uma mensagem de erro excepção que é semelhante ao seguinte:
Objecto de excepção: 026e3ce4
Tipo de excepção: System.Runtime.Serialization.Serialization
Mensagem de excepção: O construtor para anular a serialização um objecto do tipo '< objecto personalizado >' não foi encontrado.
<none>InnerException: <nenhum>
StackTrace (gerado):
O rastreio de pilha que aparece a mensagem de erro é semelhante ao seguinte:
    SP       IP       Function
    00000000 00000001 System.Web.Hosting.ApplicationManager.RespondToPingIfNeeded()
    05BFF168 660D7ACD System.Web.Hosting.HostingEnvironment.RespondToPingButNotTooOften()
    05BFF1AC 660D796B System.Web.Hosting.HostingEnvironment.DecrementBusyCountInternal()
    05BFF1BC 6600F404 System.Web.HttpRuntime.FinishRequest(System.Web.HttpWorkerRequest, System.Web.HttpContext, System.Exception)
    05BFF204 6600FADB System.Web.HttpRuntime.OnHandlerCompletion(System.IAsyncResult)
    05BFF234 65FF4FED System.Web.HttpAsyncResult.Complete(Boolean, System.Object, System.Exception, System.Web.RequestNotificationStatus)
    05BFF24C 65FD3404 System.Web.HttpApplication+ApplicationStepManager.ResumeSteps(System.Exception)
    05BFF29C 65FF0BDA System.Web.HttpApplication.ResumeStepsFromThreadPoolThread(System.Exception)
    05BFF2A8 65FF2204 System.Web.HttpApplication+AsyncEventExecutionStep.ResumeStepsWithAssert(System.Exception)
    05BFF2BC 6632DC55 System.Web.HttpApplication+AsyncEventExecutionStep.OnAsyncEventCompletion(System.IAsyncResult)
    05BFF2EC 65FF4FED System.Web.HttpAsyncResult.Complete(Boolean, System.Object, System.Exception, System.Web.RequestNotificationStatus)
    05BFF304 6612A7EA System.Web.SessionState.SessionStateModule.PollLockedSessionCallback(System.Object)


Além disso, poderá receber uma excepção System.NullReferenceException do método System.Web.SessionState.SessionStateModule.PollLockedSessionCallback . As seguintes informações são registadas no registo de eventos de aplicações:

ID do evento: 5000:
EventType clr20r3, aspnet_wp.exe P1, P2 2.0.50727.832, P3 461ef1db, P4 system.web, P5 2.0.0.0 P6 461ef1d2, P7 297 c, P8 8D, P9 system.nullreferenceexception, P10 NIL.
Id do evento: 1000
aspnet_wp.exe (PID: 5240) parou inesperadamente.

System.NullReferenceException
Objecto reference not set to an instance of um objecto

em System.Web.SessionState.SessionStateModule.PollLockedSessionCallback (estado do objecto)
em System.Threading._TimerCallback.TimerCallback_Context (estado do objecto)
em System.Threading.ExecutionContext.runTryCode (objecto userData)
em System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup (código TryCode CleanupCode backoutCode, objecto userData)
em System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext ContextCallback chamada de retorno, estado do objecto)
em System.Threading.ExecutionContext.Run (ExecutionContext executionContext ContextCallback chamada de retorno, estado do objecto)
em System.Threading._TimerCallback.PerformTimerCallback (estado do objecto)

Causa

Depois de instalar a actualização MS07-040, um contador global é implementado num domínio de aplicação. O domínio de aplicação é separado do domínio de aplicação actual. Depois do método HttpWorkerRequest.EndOfRequest é chamado, diminuir o tempo de implementação de contador global. Durante a chamada de domínio entre aplicações, a propriedade Thread.CurrentPrincipal actual deve ser serializada. Se a aplicação utiliza uma classe UserPrincipal personalizada que não é serializável, a aplicação não é possível serializar a propriedade Thread.CurrentPrincipal actual. Por conseguinte, a aplicação lança a excepção.

Resolução

Informações sobre a correcçã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 do .NET Framework 2.0 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
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 2.0 instalado para aplicar esta correcção.

Requisito de reinício

Não é necessário 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.

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.
O .NET Framework 2.0, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Aspnet_wp.exe2.0.50727.92632,60001-Set-200703: 29x 86
System.Web.dll2.0.50727.9265,160,96001-Set-200703: 30x 86
Webengine.dll2.0.50727.926406,52801-Set-200703: 29x 86
O .NET Framework 2.0, versões baseadas em 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Aspnet_wp.exe2.0.50727.92644,37631 De Agosto de 200722: 57x 64
Aspnet_wp.exe2.0.50727.92632,60001-Set-200703: 29x 86
System.Web.dll2.0.50727.9265,091,32831 De Agosto de 200722: 57x 64
System.Web.dll2.0.50727.9265,160,96001-Set-200703: 30x 86
Webengine.dll2.0.50727.926710,14431 De Agosto de 200719: 24x 64
Webengine.dll2.0.50727.926406,52801-Set-200703: 29x 86
O .NET Framework 2.0, versões de arquitectura Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Aspnet_wp.exe2.0.50727.92683,28831 De Agosto de 200722: 58IA-64
Aspnet_wp.exe2.0.50727.92632,60001-Set-200703: 29x 86
System.Web.dll2.0.50727.9264,714,49631 De Agosto de 200722: 58IA-64
System.Web.dll2.0.50727.9265,160,96001-Set-200703: 30x 86
Webengine.dll2.0.50727.9261,182,20831 De Agosto de 200719: 30IA-64
Webengine.dll2.0.50727.926406,52801-Set-200703: 29x 86

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 o boletim MS07-040 actualizar, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
931212MS07-040: Vulnerabilidades no .NET Framework podem permitir execução remota de código
Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 942086 - Última revisão: 26 de março de 2008 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbpubtypekc kbqfe kbhotfixserver kbexpertiseadvanced KB942086 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: 942086

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