Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Синхронная функция / 6 сообщений из 6, страница 1 из 1
01.03.2013, 11:22
    #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
01.03.2013, 11:37
    #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
01.03.2013, 14:54
    #38171059
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронная функция
Task + FromAsync + ContinueWith
...
Рейтинг: 0 / 0
01.03.2013, 17:34
    #38171326
GorloPavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронная функция
Алексей КTask + FromAsync + ContinueWith
Надо под 2.0 ну или на крайний случай 3.5
...
Рейтинг: 0 / 0
01.03.2013, 18:27
    #38171390
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синхронная функция
GorloPavel,

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


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