powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Синхронная функция
6 сообщений из 6, страница 1 из 1
Синхронная функция
    #38170665
GorloPavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Возникла необходимость сделать вот такую штуку... К примеру есть функция которая должна вернуть string[] но при этом сам массив не формируется в теле функции. А функция всего-лишь отправляет через сокет какие-то данные и ждет ответа от сервера. Что-то типа этого:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
string[] array=null;

..........................

private string[] getProjectsList()
{
      socketQuery("get me list"); //Что-то, куда-то отправляем.
      //???КАК-ТО ЖДЕМ???
      return array;
}

//Тут обрабатываются ответы от сервера
private void dataIncoming(byte[] data)
{
     .............................
     //Получили список, заполнили массив array и позволили функции getProjectsList() вернуть результат.
     .............................
}



Вообщем интересует вопрос реализации механизма ожидания. Заранее ОГРОМНОЕ СПАСИБО за помощь!
...
Рейтинг: 0 / 0
Синхронная функция
    #38170701
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
string[] array=null;
readonly AutoResetEvent _sEvent = new AutoResetEvent(false);
..........................

private string[] getProjectsList()
{
      socketQuery("get me list"); //Что-то, куда-то отправляем.
      //???КАК-ТО ЖДЕМ???
      _sEvent.WaitOne();
      return array;
}

//Тут обрабатываются ответы от сервера
private void dataIncoming(byte[] data)
{
     .............................
     //Получили список, заполнили массив array и позволили функции getProjectsList() вернуть результат.
     _sEvent.Set();
}
...
Рейтинг: 0 / 0
Синхронная функция
    #38171059
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Task + FromAsync + ContinueWith
...
Рейтинг: 0 / 0
Синхронная функция
    #38171326
GorloPavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КTask + FromAsync + ContinueWith
Надо под 2.0 ну или на крайний случай 3.5
...
Рейтинг: 0 / 0
Синхронная функция
    #38171390
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GorloPavel,

AutoResetEvent
автор.NET Framework
Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
...
Рейтинг: 0 / 0
Синхронная функция
    #38171877
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GorloPavelНадо под 2.0 ну или на крайний случай 3.5
направление -
http://msdn.microsoft.com/en-us/library/vstudio/2e08f6yc(v=vs.85).aspx
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Синхронная функция
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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