Введение
В настоящее время я пытаюсь создать приложение Bot Framework с использованием Microsoft Bot Framework v4.
Структура программы
В настоящее время мы имеем следующую настройку:
Корень класса бота называется: SubDialogBotBot
В SubDialogBot
мы создаем новый диалог с именем ParentDialog
,Этот диалог отвечает за реакцию на конкретное намерение.
Затем мы запускаем новый диалог с ParentDialog
с именем ChildDialog
.Этот дочерний диалог будет отвечать за задание пользователю вопроса на основе аргументов, переданных ParentDialog
.
После завершения этого вопроса мы хотим вернуться к ParentDialog
и продолжить поток.
В этом примере мы хотим повторно использовать ChildDialog
из всех видов различных намерений, поскольку код здесь точно такой же.Единственное, что меняется, это вопросы, которые нужно задать пользователю.
Проблема
Когда ChildDialog
завершает, «поток» никогда не возвращаетсяParentDialog
.
Мы также пытались настроить диалог, следующий за идентификатором ChildDialog
, на какое-то конкретное значение, а затем вызвать его с помощью Context.BeginDialog (....) из ChildDialog
.Однако, поскольку, по-видимому, диалог был добавлен к ParentDialog
, а не к ChildDialog
, он не может найти его по идентификатору.
Репозиторий Github, воспроизводящий проблему
https://github.com/devedse/SubDialogBotReproduction