powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# async... await
25 сообщений из 317, страница 7 из 13
C# async... await
    #39573856
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
У нас без сомнений на амбразуру только ты первый).
А ТС ждет 50 страниц))).
...
Рейтинг: 0 / 0
C# async... await
    #39573858
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregИ что такое очень частный? А есть еще очень-очень частный?
Твой частный случай не относится к теме топика.
Не флуди!
...
Рейтинг: 0 / 0
C# async... await
    #39573864
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregПри чем здесь ты?
ТС просит запустить хранимку с часиками, а не твою вилку и управления потоками.
...
Рейтинг: 0 / 0
C# async... await
    #39573867
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде весна еще не скоро...
...
Рейтинг: 0 / 0
C# async... await
    #39573872
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pedro123refregПри чем здесь ты?
ТС просит запустить хранимку с часиками, а не твою вилку и управления потоками.Мда...
...
Рейтинг: 0 / 0
C# async... await
    #39573882
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregPedro123пропущено...

ТС просит запустить хранимку с часиками, а не твою вилку и управления потоками.Мда...
Ты тоже на 4.0?
Алексей КViPRosсижу на 4.0Ну тогда Task.Factory.StartNew . Да?
...
Рейтинг: 0 / 0
C# async... await
    #39573907
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVostt, ну ты реально думаешь, что можешь мне по этой теме рассказать что-то новое, чего я не знаю? Наивный...

После того как ты сказал «а чё такого?» про Task.Run для кода ТС, я уже сильно сомневаюсь, знаешь ли
...
Рейтинг: 0 / 0
C# async... await
    #39573909
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosя бл* привел ссылку на автора и выложил кусок теста

Асинхронное программирование в C# 5.0

Да, выложил, но сделал это невпопад, автору надо мозг лечить, а не TaskComplectionSource впихивать, который ему не упал ни разу.
...
Рейтинг: 0 / 0
C# async... await
    #39573910
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123hVosttспециально для Алексея

http://andrey.moveax.ru/post/csharp-sync-to-async
Надуманная статья не относящаяся к задаче.

Ваши обязательные 3 копейки приняты, и отосланы автору статьи почтой.
...
Рейтинг: 0 / 0
C# async... await
    #39573912
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVosttспециально для Алексея

http://andrey.moveax.ru/post/csharp-sync-to-async
он пересказывает как раз ту книгу

он отлично объясняет суть для тех, кто видит здесь какую-то магию. TCS может использоваться для включения старого кода на TAP. и ещё в редких ограниченных случаях в целях оптимизации.
...
Рейтинг: 0 / 0
C# async... await
    #39573915
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refregPedro123пропущено...

ТС просит запустить хранимку с часиками, а не твою вилку и управления потоками.Мда...

Угу, «мда» не то слово. Рад появлению второго здравомыслящего человека в ветке, теперь нас здесь двое
...
Рейтинг: 0 / 0
C# async... await
    #39573917
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>refreg, сегодня, 15:48 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21052460][21052460]
>...Видимо, метод wsp.Entity_SP не является асинхронным...
Вот код, где по Вашему не так?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    . . .
    //-- Выполнение хранимой процедуры
    public static async Task Entity_SP(string spname, dlg_sp sp, OracleParameter[] asp, dlg_RowToEntity RowToEntity) {
      nRow = 0;  //-- Число строк в выборке
      reader = null;

      using (OracleConnection connection = new OracleConnection(гп.str_Соединение)) {
        connection.Open();
        OracleCommand command = new OracleCommand("", connection);
        command.Parameters.Clear();
        command.Parameters.AddRange(asp);
        command.CommandText = spname;
        command.CommandType = CommandType.StoredProcedure;

        using (reader = (OracleDataReader)await command.ExecuteReaderAsync()) {
          //-- Формируем коллекцию из выборки
          sp(RowToEntity); //-- Обратный вызов
        }
      }
    }
    . . .
...
Рейтинг: 0 / 0
C# async... await
    #39573918
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttДа, выложил, но сделал это невпопад, автору надо мозг лечить, а не TaskComplectionSource впихивать, который ему не упал ни разу.

*автору всмысле ТС ))
...
Рейтинг: 0 / 0
C# async... await
    #39573923
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

Хм.. так у тебя метод-то асинхронный
...
Рейтинг: 0 / 0
C# async... await
    #39573926
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,
Нужно не reader в поток запихивать, а целиком весь метод вместе с получением соединения.
...
Рейтинг: 0 / 0
C# async... await
    #39573930
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Код: c#
1.
command.ExecuteReaderAsync()


Если есть асинхронный метод в драйвере, то беру слова назад. У меня с Posgre нет таких.
...
Рейтинг: 0 / 0
C# async... await
    #39573932
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевВы не правы:
Код: 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.
    . . .
    //-- Выполнение хранимой процедуры
    public static void Entity_SP(string spname, dlg_sp sp, OracleParameter[] asp, dlg_RowToEntity RowToEntity) {
      nRow = 0;  //-- Число строк в выборке
      reader = null;
      wspErr = null;

      try {
        using (OracleConnection connection = new OracleConnection(гп.str_Соединение)) {
          connection.Open();
          OracleCommand command = new OracleCommand("", connection);
          command.Parameters.Clear();
          command.Parameters.AddRange(asp);
          command.CommandText = spname;
          command.CommandType = CommandType.StoredProcedure;

          using (reader = (OracleDataReader)command.ExecuteReader()) {
            //-- Формируем коллекцию из выборки
            sp(RowToEntity); //-- Обратный вызов
          }
        }
      }
      catch (Exception ex){ wspErr = ex.Message; }
    }
    . . .



билять, нашёл! а я уж думал у меня с памятью что-то не то. помню же, что никакого асинка в методе Entity_SP нам не показывали..

а тут бац! и нарисовалось.
...
Рейтинг: 0 / 0
C# async... await
    #39573935
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123У меня с Posgre нет таких.

как это нет? npgsql
...
Рейтинг: 0 / 0
C# async... await
    #39573938
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Именно))))))
...
Рейтинг: 0 / 0
C# async... await
    #39573939
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttPetro123У меня с Posgre нет таких.

как это нет? npgsql старый проект. Поищу.
Счас все коннекты в пуле берутся по одному на поток. Работает.
...
Рейтинг: 0 / 0
C# async... await
    #39573941
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Он ведь не показывал этот код? Сволочь))))
...
Рейтинг: 0 / 0
C# async... await
    #39573942
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Petro123, сегодня, 17:55 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21053109][21053094]
>Если есть асинхронный метод в драйвере...
Использую провайдер Devart dotConnect for Oracle, здесь есть. Похоже и для Posgre тоже
...
Рейтинг: 0 / 0
C# async... await
    #39573946
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВМоисеевВы не правы:
Код: 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.
    . . .
    //-- Выполнение хранимой процедуры
    public static void Entity_SP(string spname, dlg_sp sp, OracleParameter[] asp, dlg_RowToEntity RowToEntity) {
      nRow = 0;  //-- Число строк в выборке
      reader = null;
      wspErr = null;

      try {
        using (OracleConnection connection = new OracleConnection(гп.str_Соединение)) {
          connection.Open();
          OracleCommand command = new OracleCommand("", connection);
          command.Parameters.Clear();
          command.Parameters.AddRange(asp);
          command.CommandText = spname;
          command.CommandType = CommandType.StoredProcedure;

          using (reader = (OracleDataReader)command.ExecuteReader()) {
            //-- Формируем коллекцию из выборки
            sp(RowToEntity); //-- Обратный вызов
          }
        }
      }
      catch (Exception ex){ wspErr = ex.Message; }
    }
    . . .



билять, нашёл! а я уж думал у меня с памятью что-то не то. помню же, что никакого асинка в методе Entity_SP нам не показывали..

а тут бац! и нарисовалось.
ну, он переделал
видишь метод то по другому называется
...
Рейтинг: 0 / 0
C# async... await
    #39573948
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 18:03 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21053116][21053116]
>...а тут бац! и нарисовалось.
Так работаем с хранимкой в случае await Task.Run
...
Рейтинг: 0 / 0
C# async... await
    #39573953
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>refreg, сегодня, 15:48 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1280515&msg=21052460][21052460]
>...Видимо, метод wsp.Entity_SP не является асинхронным...
Вот код, где по Вашему не так?
Код: c#
1.
2.
3.
4.
using (reader = (OracleDataReader)await command.ExecuteReaderAsync()) {
          //-- Формируем коллекцию из выборки
          sp(RowToEntity); //-- Обратный вызов
        }



Отсюда :
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
using (DbDataReader reader = await command.ExecuteReaderAsync()) {
            while (await reader.ReadAsync()) {
               for (int i = 0; i < reader.FieldCount; i++) {
                  // Process each column as appropriate
                  object obj = await reader.GetFieldValueAsync<object>(i);
                  Console.WriteLine(obj);
               }
            }

Обрати внимание, что тут 3 await. Получить реадер можно очень быстро, но надо же еще получить данные. И, еще момент: драйвер может быть и синхронным, или решить, что задачу можно выполнить синхронно. Надо убедиться в этой возможности у поставщика, в документации.
...
Рейтинг: 0 / 0
25 сообщений из 317, страница 7 из 13
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# async... await
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]