Как вызвать любой код C # (функция, веб-ссылка, вызов API) асинхронно? - PullRequest
0 голосов
/ 26 октября 2018

Я пытался разобраться в Как вызвать любой метод асинхронно в вопросе c # , но он не отвечает на запрос, поэтому позвольте мне спросить его в любом случае.

Я обращаюсь к веб-ссылкев моем коде, который в основном вызывает функцию с именем ExportDataset.

DataSet dsUsers = serviceOws.ExportDatasetAsync("test012", "<parameters></parameters>");

Проблема с этим битом заключается в том, что для извлечения записей требуется около 30 секунд.Я не могу изменить веб-код ссылки вообще, поскольку у меня нет доступа.Моя страница вообще не загружается, пока это происходит.

Есть ли способ вызвать эту функцию асинхронно, пока загружается моя страница?Мой проект нацелен на .NET Framework 4.6.1

1 Ответ

0 голосов
/ 26 октября 2018

Вы можете обернуть синхронные вызовы в Task, используя Task t = new Task(() => MyLongRunningOperation()), но это не ускорит рендеринг вашей страницы, так как она все еще будет ждать завершения этой задачи перед отправкой содержимого страницы.Вам нужно будет выставить этот вызов в отдельном API или как-то еще и загрузить его через AJAX, если вы действительно хотите, чтобы такая длительная операция работала без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...