2016-08-14 3 views
1

Ich benutze MS Bot-Framework und versuche, die Konversation von einem Dialog zu einem anderen umzuleiten. Wenn ich context.Call verwende, wartet der neu angerufene Dialog darauf, dass der Benutzer zuerst irgendeine Nachricht eingibt, was unerwünscht ist. Also möchte ich sofort den neuen Dialog starten. Ich verwende context.Forward, das eine Instanz eines FormDialogs aufruft, aber der neu erstellte Dialog gibt die erste Nachricht aus, und dann endet der gesamte Dialogstapel und bringt mich zum Hauptbildschirm meines Bot zurück.IDialogContext.Forward bewirkt, dass der Dialog nach einer Nachricht im MS-Botframework beendet wird

await context.Forward<TestDialogForm, object>(
       TestDialog.GetDialog(), ChildTestDialogCompleted, 
       string.Empty, CancellationToken.None); 

Was mache ich falsch? context.Call() funktioniert gut mit dem gleichen Dialog.

+0

So können Sie zum Formular Dialog wechseln wollen und sofort für das erste Feld aufgefordert? Wie bauen Sie Ihre Form auf? – nonexplosive

Antwort

1

Siehe: Calling Forms from Dialogs

Dies funktioniert für mich:

await context.Forward(
       new TestDialogForm(), 
       ChildTestDialogCompleted, 
       message, 
       System.Threading.CancellationToken.None); 
Verwandte Themen