Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
c3490375
1 / 1 / 0
Регистрация: 04.06.2016
Сообщений: 78
Завершенные тесты: 2
#1

Студия ругается на using - C#

29.10.2016, 21:34. Просмотров 220. Ответов 4
Метки нет (Все метки)

Здравствуйте, есть некая функция, которая авторизуется на сайте и возвращает html-код страницы(Post-запрос).
Но вот проблема, студия ругается : "Объект "'requestStream'" можно удалять более одного раза в методе 'Main.getMarks()'. Чтобы избежать исключения System.ObjectDisposedException, следует вызывать метод "Dispose" для объекта только один раз."
Кто подскажет, как бороться с этим и в чем конкретно ошибка, я что-то недопонимаю?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        private string getMarks(string url)
        {
            ServicePointManager.Expect100Continue = false;
            var request = (HttpWebRequest)WebRequest.Create(url);
            request.CookieContainer = cookies;
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            using (var requestStream = request.GetRequestStream())
            using (var writer = new StreamWriter(requestStream))
            {
                writer.Write("name=rus&sem=1");
            }
            using (var responseStream = request.GetResponse().GetResponseStream())
            using (var reader = new StreamReader(responseStream))
            {
                return reader.ReadToEnd();
            }
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2016, 21:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Студия ругается на using (C#):

студия 2010 и нетфреймворк. - C#
Если проект сделан на студии 2010, а на компьютерах стоит версия нетфреймворк ниже 4, то прога не будет работать?

Восстановить проект, 2010 студия - C#
Вобщем, пользуясь этим "прекрасным" причем лицензионным инструментом, писал расчетную работу по методам оптимизации реализуя один из...

Студия не видит метод из System.Drawing - C#
При попытке преобразовать массив байтов в картинку(при вытягивании из БД) я не нашел другого решения, кроме как использовать метод...

Студия не видит пространства имён System.Windows.Documents - C#
Добрый вечер. То ли мне уже пора лечь спать, то ли правда тут странный какой-то глюк, но при попытке подключить пространство имён...

Студия каждый раз открывает файлы и пишет в конце 0 (цикл) - C#
Всем ПРИВЕТ!) Вот есть кусок кода: private void Form1_Load(object sender, EventArgs e) { int i = 1; ...

Ругается студия на индефикатор - C++
Ругается на << перед cout и на return 0; #include <iostream> int(main) { std::<< cout << "Move options: \n"; std:: <<...

4
valdi_korot
50 / 50 / 17
Регистрация: 04.03.2014
Сообщений: 430
Завершенные тесты: 1
29.10.2016, 21:48 #2
c3490375, можно целиком исключение пожалуйста и где оно бьется
0
c3490375
1 / 1 / 0
Регистрация: 04.06.2016
Сообщений: 78
Завершенные тесты: 2
29.10.2016, 21:54  [ТС] #3
valdi_korot, это не исключение, а предупреждение
А показывает на 9ю строку
C#
1
using (var writer = new StreamWriter(requestStream))
0
valdi_korot
50 / 50 / 17
Регистрация: 04.03.2014
Сообщений: 430
Завершенные тесты: 1
29.10.2016, 22:03 #4
c3490375, я думаю не нужно столько using использовать

Добавлено через 4 минуты
c3490375, удали using в 8-й строке
0
Usaga
Эксперт .NET
2235 / 1903 / 349
Регистрация: 21.01.2016
Сообщений: 7,312
Завершенные тесты: 2
30.10.2016, 06:25 #5
c3490375, дело в том, что StreamReader/StreamWriter во время своего Dispose() сотворит и Dispose() над переданным ему в конструкторе Stream, что может стать причиной выброса исключения. По факту, исключения не будет, так как Stream ничего не будет делать при повторном вызове его Dispose(), но не факт, что это не изменится в будущем или что какая-нибудь другая реализация стрима себя поведёт так же.

Просто удали using со стримом или заверни весь блок в try\catch.
0
30.10.2016, 06:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2016, 06:25
Привет! Вот еще темы с ответами:

Можно ли сделать, чтоб студия студия искала слоты и сигналы при написании SIGNAL или SLOT в connect? - C++ Qt
В QtCreator-е есть несколько удобных фишек, упрощающих работу. Например, QtCreator ищет доступные сигналы и слоты класса при коннекте в...

Почему vk ругается на бесплатные хостинги? На какие не ругается? - Бесплатный хостинг
Здравствуйте, Что нужно сделать, чтобы vk не ругался на бесплатный хостинг? Я нашёл отличный хостинг 5gbfree.com. Я на нём храню свои...

любительская студия - Аудио, усилители звука
Привет всем ! Я хотел спросить ? что нужно покупать для добашней студии ! Не чтоб была там профессиональная студия ! а так для любителя...

DVD студия - Windows 7
возможно ли удалить DVD студию из системы если нет то как её найти


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru