Sintomas
Suponha que utilize a classe de HttpWebRequest ou a classe de HttpClient no .NET Framework 4.5 para enviar um pedido para o servidor. Nesta situação, após o pedido é efectuado e a resposta de HTTP é por segmentos, ligação ao servidor é terminada.
Nota Este problema ocorre normalmente depois de aplicar a actualização descrita no seguinte artigo da Base de dados de conhecimento (KB):
2750149 uma actualização está disponível para a 4.5 do quadro de .NET no Windows 8, RT do Windows e Windows Server 2012: Janeiro de 2013
Resolução
Para se certificar de que a classe de HttpWebRequest e a classe HttpClient reutilizar uma conexão, tem de drenagem as respostas de pedido HTTP completa da ligação antes de um novo pedido pode ser efectuado. Para lidar com este problema, aplique um dos seguintes métodos:
-
Certifique-se de que esgotar completamente a sequência de resposta antes de enviar um novo pedido. Por exemplo, quando receber uma resposta por blocos, a aplicação lê a sequência de resposta até que o método de leitura no fluxo devolve "0 bytes lidos."
Nota Este método não requer mais nenhuma actualização adicional para serem instaladas. -
Instale esta actualização para restaurar o mesmo comportamento antes da instalação da correcção no 2750149 da KB. Quando a aplicação é fechada a sequência de resposta, a classe de HttpWebRequest tenta descarregar as respostas. Se esta operação tiver êxito, a ligação vai ser reutilizada para o pedido seguinte.
Informações sobre a correcção
Agora tem uma correcção suportada disponível na Microsoft. Contudo, destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico.
Para resolver este problema, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone do 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=supportNota 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 de normais do suporte serão aplicados a questões de suporte adicionais e problemas que não se enquadrem na atualização específica em questão.
Pré-requisitos
Para aplicar esta correcção, tem de ter o Microsoft .NET Framework 4.5 instalada.
Requisito de reinício
Tem de reiniciar o computador depois de aplicar esta correcção se os ficheiros afectados que estão a ser utilizados durante a instalação. Recomendamos que feche todas as aplicações que utilizam o .NET Framework antes de aplicar esta correcção.
A versão global 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 listadas 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.
Para todas as versões baseadas em x86 suportadas do Windows 8
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
System.dll |
4.0.30319.19082 |
3,449,912 |
08-May-2013 |
23:35 |
x86 |
Para todas as edições suportadas baseadas em x64 do Windows 8, 2012 de servidor do Windows
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
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 |