Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/16: Рейтинг темы: голосов - 16, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 12

Асинхронный метод + потоки

15.03.2013, 20:54. Показов 3401. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Возможно вопрос и дилетантский, поэтому заранее извиняюсь.
Делаю парсер сайта, на сайте есть несколько разделов. Использую TabControl и асинхронный метод HttpWebRequest для загрузки этих разделов в TextBox при изменении вкладки.
Проблема в том, что если быстро щелкая по вкладкам то загруженная информация "догоняет" и записывает в последний TextBox, последней вкладки, а предыдущие поля пустые.
Также использую INotifyPropertyChanged, при изменении свойств.
Это моя первая программа с потоками, и подозреваю что не так понял их, отсюда и проблемы по ходу. Буду благодарен за помощь/разъяснения в реализации подобных задач.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
void fly_TickersPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            
            Thread t = new Thread(new ThreadStart(delegate
            {
                
                this.Invoke(new ThreadStart(delegate
                {
                    tabControl1.Controls[fly._currentTab].Controls[0].Text = fly.tickers;
                }
                ));
            }));
            t.Start();
        }
 
        private void tabControl1_Selected(object sender, TabControlEventArgs e)
        {
            switch (tabControl1.Controls[tabControl1.SelectedIndex].Text)
            {
                case "All News":
                    fly._typeNews = e.TabPage.Text;
                    fly._currentTab = e.TabPage.Name;//Передаем имя закладки по которой произошел клик
                    fly.StartAsyncRequest(fly._urlAllNews);
                    //@"//*[@class='anchors_link']"
                    break;
                case "Hot Stocks":
                    //MessageBox.Show(tabControl1.Controls[tabControl1.SelectedIndex].Text);
                    fly._currentTab = e.TabPage.Name;//Передаем имя закладки по которой произошел клик
                    //MessageBox.Show(fly._url + tabControl1.Controls[tabControl1.SelectedIndex].Text);
                    fly._typeNews = e.TabPage.Text;
                    //MessageBox.Show(fly._typeNews);
                    fly.StartAsyncRequest(fly._url + fly._typeNews);
                    //@"//*[@title='Hot Stocks']"
                    break;
}
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.03.2013, 20:54
Ответы с готовыми решениями:

Фоновый/асинхронный метод
Моя программа делает следующее: программа делит файл на части, затем с созданными частями производятся действия, после завершения...

Асинхронный метод долго (никогда?) не завершается
Добрый день. Вызываю асинхронный метод вот так: StockOrderInfo info; info.account = ""; ...

Программа не дожидается, пока выполнится асинхронный метод
У меня есть два метода: public async static Task Challenge() //Авторизация в системе { string accessKey =...

22
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.03.2013, 23:15
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от агерон Посмотреть сообщение
Один ТОЛЬКО ОДИН ВОПРОС !!! WinApi написана на ФП?:-D если ДА то на каком!!! :-D
Запомни чудик никто НИКТО И НИКОГДА НЕ БУДЕТ ПЕРЕПИСЫВАТЬ КОД КОТОРЫЙ ВЫПОЛНЯЕТ СВОЮ ЗАДАЧУ!!! хотя бы на среднею "3" а о оценке "5" мы вообще молчим, с такого кода сдувают пылинки, и не трогают, пока ты не поймешь что ЛЮБОЕ ИЗМЕНЕНИЕ АРХИТЕКТУРЫ ИЛИ ВЗАИМОДЕЙСТВИЯ КОДА ТРЕБУЕТ ДЕНЕГ ты будешь СТУДЕНТОМ который пишет 3,5 оператора на Pure C (хех... ты еще попробуй на нем это написать ), как я вижу смысла спорить с тобой нет ибо ты никогда не задумывался, А СТОИТ ЛИ ТРОГАТЬ ТО ЧТО И ТАК РАБОТАЕТ? :-D
WinRT поддерживает WinAPI, но он содержит свое апи, построенное на этих принципах. И начиная с win blue кроме rt других альтернатив не будет, как сейчас две восьмерки.
Ну а тупо переписывать рабочий код офк никто не будет, об этом разговор ты сам завел зачем-то. Даже не разговор, а капсосрач
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
23.03.2013, 03:25
почитай дорогой вот это
там ясно сказано что
Microsoft has made clear that WinRT is not a replacement for Win32
так что дорогой никто от WinApi и не думает отказываться :-D, и не надо ля-ля о том что твой любимый WinRT заменит ВСЕ ядро под Windows, состыковка с COM технологией и ядро на ARM процессорах пожалуйста (на которых отродясь не было софта использующего WinApi), но НЕ СЕРВЕРНЫЕ и ДЕСКТОПНЫЕ приложения а их ой как много... и никто их переписывать под планшеты не будет ибо нафиг надо, + даже сами майкрасовтовцы признали что MS VS 2012 не предназначена для разработки приложений на планшетах, это также указано в твой ссылочке
http://blogs.msdn.com/b/develo... k-4-5.aspx
Примечание. Разработчики приложений для мобильных платформ, скорее всего, уже знают, что Visual Studio 2012 пока не позволяет создавать подобные приложения. Следите за обновлениями. Более подробную информацию см. в этом посте.
Так что, если ты не понимаешь на какой сегмент рынка оринтирована Windows8 и твоя любимая WinRT, запомни серьезный бизнес 100 раз все взвесит и обдумает и в итоге пошлет твое WinRT куда подальше, пока стоимость разработки не будет сравнима с стоимостью разработки того же C# 2.0 и WinApi
P. S. сервера на ARM процессорах... в этом что то есть но явно не сейчас и не сегодня а лет так через 20
0
Почетный модератор
12274 / 5340 / 268
Регистрация: 05.04.2011
Сообщений: 14,086
Записей в блоге: 2
23.03.2013, 16:28
 Комментарий модератора 
агерон, будьте добры соблюдать грамматические правила русского языка. Ваши посты совершенно нечитабельны. Правила форума перечитайте. Предупреждение.


Оффтоп в теме прекращаем. Касается всех.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2013, 16:28
Помогаю со студенческими работами здесь

Socket.Send + Async & Await: свой асинхронный метод отправки данных
Привет. Хочу написать свой асинх. метод для отправки данных при помощи класса Socket и его метода Send. Работать должно так. Есть некий...

Асинхронный метод работы с таблицей SQL
Прошу сильно в меня не кидаться, я только начал изучать Си шарп. Пытаюсь заставить в представлении показывать те данные, которые мне...

Асинхронный метод
Есть программа, архивирует видео-файлы с целью бэкапа, запускается каждый день в 20.00. Сейчас есть необходимость добавить ручной запуск....

Асинхронный метод поддерживающий ожидание
Добрый день! При выполнении асинхронного метода у меня возникла потребность приостановить выполнение основного потока до завершения...

Сделать асинхронный метод с задержкой
Никак не могу разобраться с этими asynk\away если коротко, то есть два метода ПЕРВЫЙ должен сделать задержку выполнения задачи ...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru