У меня есть сервер, который должен опросить оборудование через сеть, чтобы получить информацию, обработать ее и затем отправить ее пользователям. Обследование оборудования становится синхронной функцией блокировки.Оберните синхронную функцию при асинхронном вызове C#
Моего вопроса:
Как создать собственную функцию асинхронной версию для выполнения этой функции с использованием задачи или другую асинхронной модели ???
Рассмотрим следующий код, чтобы получить информацию от оборудования:
IEnumerable<Logs> GetDataFromEquipment(string ipAddress)
{
Equipment equipment = new Equipment();
//Open communication with equipment. Blocking code.
int handler = equipment.OpenCommunication(ipAddress);
//get data from equipment. Blocking code.
IEnumerable<Logs> logs = equipment.GetLogs(handler);
//close communication with equipment
equipment.CloseCommunication(handler);
return logs;
}
Благодарности
Вы делаете 'GetLogs' асинхронный первый. – Servy
как я могу это сделать ... –
вы должны сделать свои IO-методы асинхронными. post Метод OpenCommunication, например. , и я покажу вам, как это сделать. Какова ваша коммуникация? какой .net объект/класс? –