ResumeDialogAsync на Microsoft Botframework не запускается - PullRequest
0 голосов
/ 04 октября 2019

Я попытался адаптировать следующий пример: Пример диалога ChoiceFlow

У меня есть класс, производный от ComponentDialog с waterfallSteps. Как только у меня будет достаточно информации, я начинаю новое диалоговое окно (TroubleshootingDialog).

Когда заканчивается поиск и устранение неисправностей (он заканчивается вызовом EndDialogAsync), я хочу проанализировать данные, собранные во вспомогательном диалоге, и предпринять соответствующие действия.

Для этого я попытался переопределить ResumeDialogAsync, но он не срабатывает, когда заканчивается поддиалог.

public class ProductFlowDialog : ComponentDialog

In constructor:
var guidedWaterfall = new WaterfallStep[]
{
   LoadChoiceFlowItems,
   PromptChoice,
   ActOnPromptResult,
};

public async Task<DialogTurnResult> PromptChoice(WaterfallStepContext sc, CancellationToken cancellationToken)
{
    if ( something)
    {
    }
    else
    {
       // Here we have enough information to start new dialog.
       var result =  await sc.ReplaceDialogAsync("TroubleshootingDialog", wOptions);
       return result;
    }
    public override Task<DialogTurnResult> ResumeDialogAsync(DialogContext outerDc, DialogReason reason, object result = null, CancellationToken cancellationToken = default(CancellationToken))
    {
        // Do something
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...