1
我正在使用Microsft BotFramework。Bot Framework - 多個延遲的答案
進程: 客戶要求我的機器人生成一個特定的代碼 1.機器人對客戶端的答案是他正在生成代碼。 2.大約10秒鐘後,機器人將代碼發送給客戶端,沒有任何其他請求。
問題: 我使用
ReplyToActivityAsync(...)
方法return語句之前發送兩個答案。 在這種情況下,2個答案之間有一個發佈超時錯誤。
這是我的代碼:
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()));
}
如何開始的回覆無需等待用戶請求? 謝謝!
如果在第二次調用中使用SendToConversationAsync而不是使用ReplyToActivityAsync,會發生什麼情況? –
完全一樣。 – Jonathan
是的,我想象。如果不是發送MyAPI.GetCode(),而是發送其他類似「hello」的東西,它只是正常工作?我懷疑問題出在你的GetCode方法中...是否有任何改變來使該方法異步? –