WebResponse возвращает ошибку 401 в цикле, но работает в каждом конкретном случае. Есть идеи?

Я сталкиваюсь с ситуацией, когда я получаю (401) не авторизованный ответ. Тем не менее, когда я тестирую каждый элемент построчно, он работает нормально. Поскольку эти ошибки возникают в цикле, я считаю, что соединение все еще открыто, но я не знаю, как его закрыть.

Я редактирую URL по соображениям безопасности.

        // build variables
        var url = "https://api.com/accounts/" + aid + "/summary";

        // authentication, contenttype, etc. per API
        HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
        webrequest.Method = "GET";
        webrequest.ContentType = "application/json";
        webrequest.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:28.0) Gecko/20100101 Firefox/28.0";
        webrequest.Headers.Add("Authorization", userAuth);
        webrequest.KeepAlive = false;

        try
        {
            // Setup download
            WebResponse response = webrequest.GetResponse();
            Stream datastream = response.GetResponseStream();
            StreamReader sr = new StreamReader(datastream);

            // read data
            string json = sr.ReadToEnd();
            string alljson = json;

            sr.Close();
            datastream.Close();
            response.Close();
         }

aid и userAuth - переменные, извлекаемые из базы данных. Когда я вручную вводил несколько и делал по одному, все они работали очень хорошо. Тем не менее, запуск их через цикл, кажется, не работает после первого.

Я также попытался добавить webrequest.Abort() в оператор finally, но безуспешно. Любая помощь приветствуется. Еще одна вещь, которую я попробовал нам использовать оператор, но все же не повезло.

0 ответов

Другие вопросы по тегам