1
私はMicrosft BotFrameworkを使用しています。Botフレームワーク - 複数の遅延応答
プロセス: クライアントは特定のコードを生成するようにボットに依頼します 1.ボットはクライアントにコードを生成していると答えます。 2.約10秒後、ボットは他の要求なしにクライアントにコードを送信します。
問題: 私はreturn文の前に、両方の答えを送信するために
ReplyToActivityAsync(...)
方法を使用しています。 この場合、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()));
}
ユーザの要求を待たずに返信を開始するにはどのように? ありがとう!
2番目の呼び出しでReplyToActivityAsyncを使用する代わりにSendToConversationAsyncを使用するとどうなりますか? –
まったく同じです。 – Jonathan
はい。私はそれを想像します。 MyAPI.GetCode()を送信する代わりに、「hello」のような何かを送信すると、正しく動作しますか?あなたのGetCodeメソッドに問題があると思われます...そのメソッドを非同期にするための変更はありますか? –