Я пытаюсь использовать API, который я разработал в NODE.js, я делаю это из настольного приложения c # windows form.
API написано ASYNC на стороне сервера, но может ли оно быть синхронизировано внутри моего клиента? Позвольте мне объяснить, что я имею в виду.
Это пример кода того, что я делаю:
public static DateTime GetDateTime()
{
try
{
string result = Task.Run(() =>
client.GetStringAsync(client.BaseAddress)).Result;
Date currentTime = JsonConvert.DeserializeObject<Date>(result);
return currentTime.Value;
}
catch (Exception ex)
{
throw ex;
}
}
Позже в программе я вызываю эту функцию:
DateTime currentDate = GymAPI.GetDateTime();
Согласно тому, что я исследовал, это происходит синхронно ... и это то, что мне нужно, потому что после вызова функции я использую дату и время, чтобы вычислить и отобразить возраст списка людей.
Как я понимаю, если я использую ASYNC / AWAIT, код, который вычисляет возраст людей, будет выполнен сразу же, в то время как, скорее всего, у меня еще не будет значения текущей даты. Я прав в этом предположении?
Нужно ли запускать что-либо ASYNC в моем приложении, кроме случаев, когда я отправляю электронное письмо (занимает около 5 секунд), и я хочу, чтобы задача sendmail выполнялась в фоновом режиме, пока приложение остается отзывчивым для пользователя?
Наконец, и, что более важно, приведенный выше код, похоже, работает, но ... Является ли способ, которым я это сделал, лучшим способом сделать синхронный вызов? Нет тупиков? Спасибо за ваше терпение, прочитав это, но я нашел много постов и, честно говоря, я не смог найти ответы на все вопросы.
Если вопросов слишком много, ответьте только на последний! :)