Я использую программу MicroSpot BotFramework.Bot Framework - Несколько ответов с задержкой
Процесс: клиенты просят моего бота генерировать конкретный код 1. Бот отвечает клиенту, что он генерирует код. 2. Спустя примерно 10 секунд бот отправляет код клиенту без какого-либо другого запроса.
Проблема: Я использую метод
ReplyToActivityAsync(...)
отправить оба ответа, до возвращения заявления. В этом случае между двумя ответами возникает ошибка времени ожидания .
Вот мой код:
if (activity.Type == ActivityTypes.Message)
{
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
// return our reply to the user
string welcomeMessage = "[...] Reply 1 [...]"
await connector.Conversations.ReplyToActivityAsync(activity.CreateReply(welcomeMessage));
// MyApi.GetCode() takes about 10 secs
await connector.Conversations.ReplyToActivityAsync(activity.CreateReply(MyAPI.GetCode()));
}
Как начать ответ, не дожидаясь запроса пользователя? Спасибо!
Что произойдет, если во втором вызове вместо использования ReplyToActivityAsync вы используете SendToConversationAsync? –
Точно так же. – Jonathan
Да .. Я представляю это. И если вместо отправки MyAPI.GetCode() вы отправляете что-то еще, например, «привет», оно просто работает правильно? Я подозреваю, что проблема в вашем методе GetCode ... есть ли какие-либо изменения, чтобы сделать этот метод async? –