Azure + Bot Framework + LUIS (LuisDialog 経由) で実行されるボットがあります。
ユーザーが (ボットが応答する前に) 2 つのメッセージを立て続けに送信すると、Facebook Messenger または Web 埋め込みに次のエラー メッセージが表示されます。
申し訳ありませんが、ボット コードに問題があります。
ボット チャネル エミュレーターを使用してデバッグすると、次のようなエラーが表示されます。
"text": "エラー: 応答ステータス コードが成功を示していません: 429 (要求が多すぎます)。System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) でMicrosoft.Bot.Builder.Luis.LuisService.d__4.MoveNext()
スタック トレースの最後は、エラーが MessageController.cs の次の行で発生したことを示しています。
await Conversation.SendAsync(activity, () => new LuisRootDialogEnglish());
1 秒あたり最大 10 回の呼び出しが可能な LUIS の有料バージョンを使用しているため、これは奇妙です。
いずれにせよ、MessageController.cs のコード全体をtry/catch
ブロックにラップし、例外に関係なくこの値を返すようにしました。
return Request.CreateResponse(HttpStatusCode.OK);
それでも、ユーザーには「申し訳ありませんが、ボット コードに問題があります」というエラー メッセージが表示されます。これは、基本的に未処理の例外があることを意味します。
このメッセージがユーザーに表示されないようにする、または例外をキャッチするにはどうすればよいですか?