powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SqlCOnnection AsynchronousProcessing
14 сообщений из 14, страница 1 из 1
SqlCOnnection AsynchronousProcessing
    #39296577
SQLBeginner2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Натолкнулся на данный параметр в sqlconnection'e, почитал msdn, но вклад в правое дело остался не ясен. Может кто пример на пальцах привести, как вообще этим пользоваться на практике?
Заранее благодарен.
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296611
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLBeginner2014,

данная строка в кс позволяет использовать методы команды вида BeginXXX
например: command.BeginExecuteNonQuery()
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296613
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
async требовался для использования методов BeginExecuteQuery/BeginExecuteReader. Хочешь использовать - пиши async=true. Но с имеющимся механизмом async/await в .net кажется бессмысленным
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296621
SQLBeginner2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 pation, 2 Pallaris
BeginExecute.../EndExecute... это все понятно, но практический какой смысл? Например я реализую чат, в БД есть табла с сообщениями. Я могу выполнить 1 запрос в базу на получение новых сообщений, чтобы результат вернулся только тогда, когда будут новые сообщения? И если могу, то как в таком случае выглядит текст запроса?
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296657
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Практический смысл асинхронной операции в том, что твое приложение может продолжать выиолнять другие задачи, пока sql server выполняет твой запрос.
Что касается твоей задачи - кажется, это стандартная задача на обработку очереди входящих данных.
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296762
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisНо с имеющимся механизмом async/await в .net кажется бессмысленным
Это если не знать о том, что BeginXXX/EndXXX работают на основе I/O Completion ports :
Processes that handle many concurrent asynchronous I/O requests can do so more quickly and efficiently by using I/O completion ports in conjunction with a pre-allocated thread pool than by creating threads at the time they receive an I/O request.
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296766
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныPallarisНо с имеющимся механизмом async/await в .net кажется бессмысленным
Это если не знать о том, что BeginXXX/EndXXX работают на основе I/O Completion ports :
Processes that handle many concurrent asynchronous I/O requests can do so more quickly and efficiently by using I/O completion ports in conjunction with a pre-allocated thread pool than by creating threads at the time they receive an I/O request.Если не знать о том, что async/await может работать поверх BeginXXX/EndXXX. :-)
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296795
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЕсли не знать о том, что async/await может работать поверх BeginXXX/EndXXX. :-)
Может. Но выше в контексте ненужности BeginXXX/EndXXX речь явно шла об обычных синхронных вызовах внутри async/await.
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296805
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныАлексей КЕсли не знать о том, что async/await может работать поверх BeginXXX/EndXXX. :-)
Может. Но выше в контексте ненужности BeginXXX/EndXXX речь явно шла об обычных синхронных вызовах внутри async/await.Согласен.
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39296898
SQLBeginner2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос был не в реализации конкретной задачи с чатом, это было более менее быстрым и понятным примером.
На msdn есть пример:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SqlCommand command = new SqlCommand(commandText, connection);
connection.Open();
IAsyncResult result = command.BeginExecuteNonQuery();
while (!result.IsCompleted)
{
     Console.WriteLine("Waiting {0}.", count);
     Thread.Sleep(100);
     count += 1;
}
Console.WriteLine("Command complete. Affected {0} rows.",command.EndExecuteNonQuery(result));


Но смысла асинхронного запроса этот пример не отражает - пока жду ответа в while у меня все равно все подвисает.
Мне ничего не мешает например в BackWorkere выполнить обычный Execute в базу, чтобы приложение продолжало работать. Поэтому интересует практическое применение Begin/EndExecuteXXX. Его нет и можно не заморачиваться с этим, или я просто не понял высокий смысл?
Можно другой пример: у меня есть в БД табличка с неким числом, которое принимает значение 1 или 2. Раз в 5 сек по таймеру приложение запрашивает это число. Я могу с помощью Begin/EndExecuteXXX выполнять запросы не каждые 5 сек, а только 1 запрос и получать ответ, если текущее значение в БД отличается от текущего в приложении?
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39297038
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLBeginner2014Вопрос был не в реализации конкретной задачи с чатом, это было более менее быстрым и понятным примером.
На msdn есть пример:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SqlCommand command = new SqlCommand(commandText, connection);
connection.Open();
IAsyncResult result = command.BeginExecuteNonQuery();
while (!result.IsCompleted)
{
     Console.WriteLine("Waiting {0}.", count);
     Thread.Sleep(100);
     count += 1;
}
Console.WriteLine("Command complete. Affected {0} rows.",command.EndExecuteNonQuery(result));


Но смысла асинхронного запроса этот пример не отражает - пока жду ответа в while у меня все равно все подвисает.
Мне ничего не мешает например в BackWorkere выполнить обычный Execute в базу, чтобы приложение продолжало работать. Поэтому интересует практическое применение Begin/EndExecuteXXX. Его нет и можно не заморачиваться с этим, или я просто не понял высокий смысл?
Пример плохой, наверное писали техписатели индусы, которые тоже не особо понимают смысл.
SQLBeginner2014Можно другой пример: у меня есть в БД табличка с неким числом, которое принимает значение 1 или 2. Раз в 5 сек по таймеру приложение запрашивает это число. Я могу с помощью Begin/EndExecuteXXX выполнять запросы не каждые 5 сек, а только 1 запрос и получать ответ, если текущее значение в БД отличается от текущего в приложении?
Нет.
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39297058
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Рихтера были примеры, как обвязывать Begin... End.. в async-await
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39297107
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris,

ну вроде в последних FW есть Async процедуры для всех вариантов
...
Рейтинг: 0 / 0
SqlCOnnection AsynchronousProcessing
    #39297122
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisУ Рихтера были примеры, как обвязывать Begin... End.. в async-await
https://msdn.microsoft.com/ru-ru/library/system.threading.tasks.taskfactory.fromasync(v=vs.110).aspx
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SqlCOnnection AsynchronousProcessing
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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