Pergunta

Ao escrever o meu código abaixo, bloqueia o GetResponse. Por quê?

        try
        {
            WebRequest myWebRequest = WebRequest.Create(strURL);
            WebResponse myWebResponse = myWebRequest.GetResponse();
            //more code here
Foi útil?

Solução

Isso geralmente acontece se você fez vários pedidos para o mesmo host, e não descartado do WebResponse.

As configurações de gerenciamento de conexão padrão permitem apenas 2 (ou talvez 4, não me lembro), abra conexões com o mesmo host por vez. Se você verdade precisa mudar isso, use o <connectionManagement> elemento app.config - mas geralmente você estará bem apenas descartando WebResponse:

try
{
    WebRequest myWebRequest = WebRequest.Create(strURL);
    using (WebResponse myWebResponse = myWebRequest.GetResponse())
    {
        //more code here
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top