Artigo: 967535 - Última revisão: domingo, 14 de Fevereiro de 2010 - Revisão: 5.0

CORRECÇÃO: A correcção está disponível para corrigir dois problemas no ASP.NET no IIS 7.0 para Windows Vista e Windows Server 2008

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.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando utiliza o Internet Information Services (IIS) 7.0 no modo integrado, poderá encontrar os seguintes dois problemas.

Problema 1

Quando um pedido atinge o módulo PublishingHttpModule, o método Request.TransmitFile não funcionar correctamente.

Nota O módulo PublishingHttpModule processa o pedido autorizado e serve um ficheiro em cache se um ficheiro em cache estiver presente.

Problema 2

Quando utiliza o método System.Web.Management.WebBaseEvent.Raise no evento Application_Start para a aplicação Web, o método WebBaseEvent.Raise falhará. Além disso, recebe um erro de excepção é semelhante ao seguinte:
Erro de servidor de aplicações em '/ <application>'.
--------------------------------------------------------------------------------

Pedido não está disponível neste contexto
Descrição: Ocorreu uma excepção não processada durante a execução da solicitação da web actual. Reveja o rastreio da pilha para obter mais informações sobre o erro e onde tem origem no código.

Detalhes da excepção: System.Web.HttpException: pedido não está disponível neste contexto

Causa

Problema 2 ocorre porque o método WebBaseEvent.Raise refere internamente o objeto Request do HttpContext. No entanto, devido às alterações de estrutura no IIS 7.0, a objecto HttpContext.Current.Request não será preenchido no caso de Application_Start sob o modo de pipeline integrada. Assim, o pedido não está disponível e o método WebBaseEvent.Raise falha.

Resolução

Informações sobre a correcção

Nota Esta correcção contém uma regressão que afecta sites do SharePoint. Se pretender implementar esta correcção num servidor que hospeda os sites do SharePoint, contacte o serviço de apoio a clientes da Microsoft e suporte para obter mais informações.

Tem uma correcção suportada disponível na Microsoft. 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á ser 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.

Para transferir esta correcção da Galeria de código da MSDN, visite o seguinte Web site da Microsoft:
http://code.msdn.microsoft.com/KB967535 (http://code.msdn.microsoft.com/KB967535)

Nota A Galeria de código da MSDN apresenta os idiomas para o qual a correcção está disponível. Se não vir o idioma listado, é porque a página de recursos de galeria de código não está disponível para esse idioma.

Nota Se ocorrerem problemas adicionais ou se for necessário efectuar algum procedimento para resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a perguntas de suporte adicionais e problemas que não são elegíveis para esta correcção específica. Para obter uma lista completa dos números de telefone do serviço de apoio a clientes da Microsoft e suporte da ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)

Pré-requisitos

Tem de ter o Microsoft .NET Framework 3.5 Service Pack 1 (SP1) instalado para aplicar esta correcção. Tem de aplicar esta correcção no Windows Vista SP1 ou Windows Server 2008.

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, são convertida 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, versão 86 baseada em x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Aspnet_wp.exe2.0.50727.401331,59209-Fev-200900: 15x 86
Webengine.dll2.0.50727.4013436,58409-Fev-200900: 15x 86
System.Web.dll2.0.50727.40135,242,88009-Fev-200900: 15x 86
O .NET Framework 2.0, versão de 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataformaRequisito SP
Aspnet_wp.exe2.0.50727.401343,36809-Fev-200900: 28x 64SPN
Webengine.dll2.0.50727.4013744,80809-Fev-200900: 28x 64Nenhum
System.Web.dll2.0.50727.40135,255,16809-Fev-200900: 28x 64Nenhum
Aspnet_wp.exe2.0.50727.401331,59209-Fev-200900: 15x 86SPN
Webengine.dll2.0.50727.4013436,58409-Fev-200900: 15x 86Nenhum
System.Web.dll2.0.50727.40135,242,88009-Fev-200900: 15x 86Nenhum
O .NET Framework 2.0, versão com base em IA-64
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataformaRequisito SP
Aspnet_wp.exe2.0.50727.401383,30408-Fev-200923: 21IA-64SPN
Webengine.dll2.0.50727.40131,229,67208-Fev-200923: 21IA-64Nenhum
System.Web.dll2.0.50727.40134,771,84008-Fev-200923: 21IA-64Nenhum
Aspnet_wp.exe2.0.50727.401331,59209-Fev-200900: 15x 86SPN
Webengine.dll2.0.50727.4013436,58409-Fev-200900: 15x 86Nenhum
System.Web.dll2.0.50727.40135,242,88009-Fev-200900: 15x 86Nenhum

Como contornar

Para contornar o problema 2, atribuir um manequim objeto Request ao objecto HttpContext.Current.Request.

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

Pilha de saída para problema 2

[HttpException (0x80004005): Request is not available in this context] 
   System.Web.HttpContext.get_Request() +11161416 
   ASP.global_asax.Application_Start(Object sender, EventArgs e) +112

[HttpException (0x80004005): Request is not available in this context] 
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +4165105 
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +205 
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +336 
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +350 
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +382
Para obter mais informações sobre a terminologia de actualizações de software, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 2.0
  • Microsoft .NET Framework 3.5 Service Pack 1
  • Microsoft Internet Information Services 7.0
Palavras-chave: 
kbmt kbhotfixserver kbexpertiseadvanced kbqfe kbsurveynew KB967535 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: 967535  (http://support.microsoft.com/kb/967535/en-us/ )