Artigo: 915599 - Última revisão: domingo, 8 de Fevereiro de 2009 - Revisão: 2.2 Recebe uma ou mais mensagens de erro quando tenta efectuar um pedido de HTTP numa aplicação criada no .NET Framework 1.1 Service Pack 1
Nesta páginaSumário Este artigo descreve mensagens de erro que poderá receber quando utiliza o Microsoft .NET Framework 1.1 Service Pack 1 (SP1) para criar pedidos de HTTP ou quando contactar um serviço Web. SintomasQuando tenta efectuar um pedido de HTTP numa aplicação criada no .NET Framework, poderá receber um ou mais das seguintes mensagens de erro: Mensagem de erro 1 A ligação subjacente foi fechada: não é possível ligar ao servidor remoto. Mensagem de erro 2 A ligação subjacente foi fechada: Ocorreu um erro inesperado num envio. Mensagem de erro 3 A ligação subjacente foi fechada: Ocorreu um erro inesperado numa recepção. Mensagem de erro 4 A ligação subjacente foi fechada: O servidor efectuou uma violação de protocolo HTTP. Mensagem de erro 5 A ligação subjacente foi fechada: não foi possível estabelecer canal seguro para SSL/TLS. Mensagem de erro 6 A operação foi excedido CausaMensagem de erro 1Este problema ocorre quando o .NET Framework não é possível estabelecer uma ligação ao servidor remoto. Este problema poderá ocorrer quando um ou mais das seguintes condições se verificar:
Mensagem de erro 2Este problema ocorre quando o computador cliente não consegue enviar HTTP pedido. O computador cliente não pode enviar o pedido de HTTP, porque a ligação foi fechada ou não está disponível. Este problema poderá ocorrer quando o computador cliente está a enviar muitos dados. Para resolver este problema, consulte resoluções A D, E, F e O.Mensagem de erro 3Este problema ocorre quando o servidor ou outro dispositivo de rede fecha inesperadamente uma ligação de TCP (Transmission Control Protocol) existente. Este problema poderá ocorrer quando um valor de limite de tempo no servidor ou do dispositivo de rede tiver uma definição demasiado baixo. Para resolver este problema, consulte resoluções A D, E, F e O. O problema também pode ocorrer se o servidor repõe a ligação inesperadamente, tal como se uma excepção não processada falha o processo do servidor. Analise os registos do servidor para ver se esta pode ser o problema.Mensagem de erro 4Este problema ocorre quando o .NET Framework detecta que a resposta do servidor não está em conformidade com HTTP 1.1 RFC. Este problema poderá ocorrer quando a resposta contém cabeçalhos incorrectos ou delimitadores de cabeçalho incorrecto. Para resolver este problema, consulte resoluções A e g.Para obter mais informações sobre os cabeçalhos de HTTP, visite o seguinte na World Wide Web Consortium Web site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6)
Microsoft fornece informações de contactos outros fabricantes para ajudar a encontrar suporte técnico. Poderá ser alterado estas informações de contacto sem aviso prévio. Microsoft não garante a precisão destas informações de contacto outros fabricantes. Mensagem de erro 5Este problema poderá ocorrer quando um ou mais das seguintes condições se verificar:
Mensagem de erro 6Este problema ocorre quando o valor do cliente de tempo limite é atingido antes de ocorre uma das seguintes condições:
Resolução Nota A lista seguinte contém resoluções possíveis que poderão aplicar quando ocorre um destes problemas. Nem todos os estas resoluções se aplicam a todos os estes problemas. Consulte as descrições de problema na secção "Causa" para determinar se aplica a resolução. A resoluçãoPara resolver este problema, certifique-se de que está a utilizar a versão mais recente do .NET Framework. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:318785
(http://support.microsoft.com/kb/318785/
)
Como determinar que versões do .NET Framework são instalados e se service packs foram aplicados Resolução de BPara resolver este problema, certifique-se de que as definições de proxy estão correctas. Para o fazer, utilize as seguintes técnicas:
Resolução CPara resolver este problema, certifique-se de que a aplicação tem permissões para efectuar chamadas de rede e para efectuar chamadas de socket. Esta resolução se aplica quando executa a aplicação que efectua HttpWebRequest chamada dentro de uma aplicação Web. Poderá ter de ler de conceder permissões para o ASPNET conta para que possa aceder os seguintes recursos:
http://technet.microsoft.com/en-us/sysinternals/default.aspx
(http://technet.microsoft.com/en-us/sysinternals/default.aspx)
Os produtos de outros fabricantes explicado neste artigo são fabricados por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, expressa ou implícita, relativamente ao desempenho ou fiabilidade destes produtos. Resolução DPara resolver este problema, desactive a funcionalidade keep-alive. No .NET Framework, defina a propriedade HttpWebRequest.KeepAlive como FALSE. Para efectuar este procedimento quando chama um serviço Web, siga estes passos.Nota A funcionalidade de keep-alive é necessária para a autenticação NTLM.
Resolução EPara resolver este problema, defina a propriedade ServicePointManager.MaxServicePointIdleTime para inferior ao valor limite de tempo da ligação keep-alive servidor.notas
Resolução FPara resolver este problema, aumente o valor limite de tempo no computador servidor e em outros dispositivos de rede. Para aumentar o valor de limite de tempo no Microsoft (IIS) 6.0, siga estes passos:
Resolução GPara contornar este problema, defina useUnsafeHeaderParsing como Verdadeiro .Para obter mais informações sobre a propriedade useUnsafeHeaderParsing, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:888528
(http://support.microsoft.com/kb/888528/
)
Uma lista de erros que são corrigidos no .NET Framework 1.1 Service Pack 1, mas não são descritos noutro local nos artigos da base de dados de conhecimento da Microsoft individuais Resolução HPara resolver este problema, forneça um certificado de cliente válido para a aplicação. Para obter mais informações sobre como utilizar certificados de cliente, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:901183
(http://support.microsoft.com/kb/901183/
)
Como chamar um serviço Web utilizando um certificado de cliente para autenticação numa aplicação Web do ASP.NET 895971
(http://support.microsoft.com/kb/895971/
)
Como enviar um certificado de cliente utilizando as classes HttpWebRequest e HttpWebResponse no Microsoft Visual C# .NET ResoluçãoPara resolver este problema, forneça um certificado de segurança válido para o servidor. Além disso, poderá conseguir resolver este problema instalando o certificado de autoridade (AC) de certificação de raiz ou corrigindo o nome comum do certificado de servidor.Para obter mais informações sobre o certificado do servidor de nomes, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:813618
(http://support.microsoft.com/kb/813618/
)
Alerta de segurança: O nome do certificado de segurança é inválido ou não corresponde ao nome do site aviso Esta medida pode tornar o computador ou a rede mais vulnerável a ataques de utilizadores mal intencionados ou software malicioso como vírus. A Microsoft não recomenda esta medida, mas fornece estas informações para que o utilizador pode implementá-la à sua própria responsabilidade. Usar esta solução por sua conta e risco.Também pode rever o código de aplicação para ignorar estes avisos de certificado. Para efectuar este procedimento, implementa a suas próprias interface ICertificatePolicy . Em seguida, pode definir a propriedade ServicePointManager.CertificatePolicy para utilizar a instância de política de certificados antes da Web é efectuada a chamada de método de serviço. Nota O método ICertificatePolicy.CheckValidationResult implementa a política de validação de certificados de aplicação. Para mais informações sobre o método ICertificatePolicy.CheckValidationResult , visite o seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/system.net.icertificatepolicy.checkvalidationresult(vs.71).aspx
(http://msdn2.microsoft.com/en-us/library/system.net.icertificatepolicy.checkvalidationresult(vs.71).aspx)
Para mais informações e um exemplo de código, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 823177
(http://support.microsoft.com/kb/823177/
)
PROBLEMA: "System.Net.WebException. A ligação subjacente foi fechada. Mensagem de erro não conseguiu estabelecer a relação de fidedignidade com o servidor remoto"quando actualiza o .NET Framework importante Recomendamos que não ignorar avisos de certificado SSL no código devido a possíveis riscos de segurança.Resolução JPara resolver este problema, altere o protocolo HTTPS de SSL para o TLS (Transport Level Security).Nota Se já utilizar TLS, altere o protocolo HTTPS para SSL. Para alterar o protocolo HTTPS no computador cliente, consulte a secção "ServicePointManager.SecurityProtocol propriedade" no seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.securityprotocol.aspx
(http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.securityprotocol.aspx)
Nota Por exemplo, para suportar o protocolo SSL3 e o protocolo TLS1, utilize código semelhante ao seguinte. 187498
(http://support.microsoft.com/kb/187498/
)
Como desactivar PCT 1.0, SSL 2.0, 3.0 SSL ou TLS 1.0 no Internet Information Services Resolução KPara resolver este problema, aumente o valor da propriedade maxConnection . Para o fazer, reveja os ficheiros de configuração para a aplicação ou adicionar código da aplicação.Nota O valor predefinido da propriedade maxConnection é 2. Para Microsoft ligado ao ASP.NET aplicações que chamem serviços Web, recomendamos que defina um valor de 12 vezes o número de processadores. Para definir este valor utilizando o código da aplicação, utilize a propriedade ServicePointManager.DefaultConnectionLimit . Para mais informações sobre a propriedade ServicePointManager.DefaultConnectionLimit , visite o seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit(vs.71).aspx
(http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit(vs.71).aspx)
Para definir este valor utilizando ficheiros de configuração para a aplicação, adicione o seguinte código para o ficheiro de configuração. http://msdn2.microsoft.com/en-us/library/aa903351(VS.71).aspx
(http://msdn2.microsoft.com/en-us/library/aa903351(VS.71).aspx)
Resolução geralPara resolver este problema, certifique-se de que as definições de limite de tempo no servidor e em outros dispositivos de rede estão correctamente implementadas.Para obter mais informações sobre como implementar definições de limite de tempo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:904262
(http://support.microsoft.com/kb/904262/
)
O pedido enviado pela classe HttpWebRequest poderá deixar de responder quando utiliza a classe HttpWebRequest uma aplicação do ASP.NET Resolução MPara resolver este problema, leia acerca de optimização do desempenho do ASP.NET.Para obter mais informações sobre optimização do desempenho do ASP.NET, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:821268
(http://support.microsoft.com/kb/821268/
)
Contenção, desempenho fraco e bloqueios quando efectua pedidos de serviço Web de aplicações do ASP.NET Resolução NPara resolver este problema, aumente os valores das propriedades do limite de tempo no código de aplicação de cliente. Para o fazer, utilize as seguintes propriedades:
http://msdn2.microsoft.com/en-us/library/cy9yd268.aspx
(http://msdn2.microsoft.com/en-us/library/cy9yd268.aspx)
Para mais informações sobre a propriedade HttpWebRequest.ReadWriteTimeout , visite o seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/b1w9c0s4.aspx
(http://msdn2.microsoft.com/en-us/library/b1w9c0s4.aspx)
Resolução OPara resolver este problema, certifique-se de que o computador cliente não envia o HTTP 100 - Continue cabeçalho. Além disso, certifique-se de que o computador cliente não espera receber o HTTP 100-Continue cabeçalho.Nota Esta resolução é eficaz se o servidor Web ou o servidor proxy não suporta o HTTP 100-Continue cabeçalho. Para mais informações sobre como desactivar o HTTP 100-Continue cabeçalho para o computador cliente, visite o seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.expect100continue.aspx
(http://msdn2.microsoft.com/en-us/library/system.net.servicepointmanager.expect100continue.aspx)
ReferênciasPara obter mais informações sobre considerações de desempenho quando fizer Web serviço chamadas de aplicações ligadas à ASP.NET, visite o seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/aa480507.aspx
(http://msdn2.microsoft.com/en-us/library/aa480507.aspx)
Para obter mais informações sobre problemas de desempenho e problemas de bloqueio quando efectuar Web processar pedidos de aplicações ASP.NET ligados, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft: 821268
(http://support.microsoft.com/kb/821268/
)
Contenção, desempenho fraco e bloqueios quando efectua pedidos de serviço Web de aplicações do ASP.NET Para mais informações sobre como melhorar o desempenho das aplicações ligadas à ASP.NET, visite o seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/ms998549.aspx
(http://msdn2.microsoft.com/en-us/library/ms998549.aspx)
Para mais informações sobre como melhorar o desempenho da Web serviços, visite o seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/ms998562.aspx
(http://msdn2.microsoft.com/en-us/library/ms998562.aspx)
Para mais informações sobre como criar aplicações seguras ligado ao ASP.NET, visite o seguinte Web site da Microsoft: http://msdn2.microsoft.com/en-us/library/aa302408.aspx
(http://msdn2.microsoft.com/en-us/library/aa302408.aspx)
Nota O protocolo de transporte TCP é utilizado para pedidos de HTTP. TCP é um protocolo fiável, orientado para ligações. No entanto, se uma ligação TCP é fechado inesperadamente, a aplicação repete o pedido. Para mais informações sobre o protocolo TCP e sobre o comportamento de cliente se o servidor fecha uma ligação, visite o seguinte na World Wide Web Consortium site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.4
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.4)
Microsoft fornece informações de contactos outros fabricantes para ajudar a encontrar suporte técnico. Poderá ser alterado estas informações de contacto sem aviso prévio. Microsoft não garante a precisão destas informações de contacto outros fabricantes. Para obter mais informações sobre o utilitário FileMon e o utilitário RegMon, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 198038
(http://support.microsoft.com/kb/198038/
)
Ferramentas úteis para problemas de pacote e implementação Para obter mais informações sobre o Monitor de rede, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft: 148942
(http://support.microsoft.com/kb/148942/
)
Como capturar tráfego de rede com o Monitor de rede 812953
(http://support.microsoft.com/kb/812953/
)
Como utilizar o Monitor de rede para capturar tráfego de rede
Tradução automáticaIMPORTANTE: 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: 915599
(http://support.microsoft.com/kb/915599/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo