Sintomas
Suponha que você use a classe HttpWebRequest ou a classe HttpClient no.NET Framework 4.5 para enviar uma solicitação para o servidor. Nessa situação, depois de feita a solicitação e a resposta HTTP está em partes, conexão com o servidor é finalizado.
Observação: Esse problema normalmente ocorre depois de aplicar a atualização descrita no seguinte artigo da Base de dados de Conhecimento (KB):
2750149 uma atualização está disponível para o 4.5 do.NET Framework no Windows 8, Windows RT e no Windows Server 2012: janeiro de 2013
Resolução
Para certificar-se de que a classe HttpWebRequest e a classe HttpClient reutilizar uma conexão, você deve descarregar as respostas de solicitação HTTP inteiras da conexão antes de uma nova solicitação pode ser feita. Para lidar com esse problema, aplica um dos seguintes métodos:
-
Certifique-se de que você drenar completamente o fluxo de resposta antes de enviar uma nova solicitação. Por exemplo, quando você receber uma resposta em partes, o aplicativo lê o fluxo de resposta até que o método de leitura no fluxo retorna "0 bytes lidos."
Observação: Essa abordagem não requer nenhuma atualização adicional a ser instalado. -
Instale esta actualização para restaurar o comportamento mesmo antes da instalação do hotfix em 2750149 KB. Quando o aplicativo fecha o fluxo de resposta, a classe HttpWebRequest tenta dissipar as respostas. Se esta operação for bem-sucedida, a conexão será reutilizada para a próxima solicitação.
Informações sobre o hotfix
Um hotfix suportado está disponível agora na Microsoft. No entanto, destina-se a corrigir somente o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico.
Para resolver esse problema, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e informações sobre custos de suporte, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportObservação: em alguns casos, as taxas cobradas para chamadas de suporte podem ser canceladas caso um profissional de Suporte da Microsoft determine que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados para questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.
Pré-requisitos:
Para aplicar esse hotfix, você deve ter o Microsoft.NET Framework 4.5 instalado.
Requisitos de reinicialização:
Você deve reiniciar o computador após aplicar esse hotfix, se os arquivos afetados estão sendo usados durante a instalação. Recomendamos que você feche todos os aplicativos que usam o.NET Framework antes de aplicar esse hotfix.
A versão global deste hotfix apresenta os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário no item Data e Hora no Painel de Controle.
Para todas as versões do Windows 8 x86:
Nome do Arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |
Para todas as versões compatíveis baseadas em x64 do Windows 8, Windows Server 2012
Nome do Arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:58 |
x86 |
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |