C# Bot上下文。请稍候,不显示下一条消息

C# Bot上下文。请稍候,不显示下一条消息,c#,azure,bots,botframework,C#,Azure,Bots,Botframework,我正在开发具有IDialog的Bot应用程序。当增量值达到4时,它不会调用MessageEndAsync并等待用户输入。没有用户输入,不会在模拟器中显示下一条消息 我正在寻找一些解决方案,一旦验证通过,然后转到下一条消息,否则继续检查验证 你能帮我解决这个问题吗 [Serializable] public class PlayGame: IDialog<object> { private int increment = 0; publ

我正在开发具有IDialog的Bot应用程序。当增量值达到4时,它不会调用MessageEndAsync并等待用户输入。没有用户输入,不会在模拟器中显示下一条消息

我正在寻找一些解决方案,一旦验证通过,然后转到下一条消息,否则继续检查验证

你能帮我解决这个问题吗

[Serializable]
    public class PlayGame: IDialog<object>
    {

        private int increment = 0;
        public async Task StartAsync(IDialogContext context)
        {
            context.Wait(MessageReceivedAsync);
        }
        public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
        {
            var message = await argument;
            increment++;
            if (increment == 4)
            {
                await context.PostAsync(increment.ToString());
                context.Wait(MessageEndAsync);
            }
            else
            {
                await context.PostAsync(increment.ToString());
                context.Wait(MessageReceivedAsync);
            }
        }
        public virtual async Task MessageEndAsync(IDialogContext context, IAwaitable<IMessageActivity> result)
        {
            await context.PostAsync("Thanks for your information");
            context.Done<object>(null);
        }
    }
[可序列化]
公共类游戏:IDialog
{
私有整数增量=0;
公共异步任务StartAsync(IDialogContext上下文)
{
Wait(MessageReceivedAsync);
}
公共异步任务消息ReceivedAsync(IDialogContext上下文,IAwaitable参数)
{
var message=等待参数;
增量++;
如果(增量==4)
{
wait context.PostAsync(increment.ToString());
Wait(MessageEndAsync);
}
其他的
{
wait context.PostAsync(increment.ToString());
Wait(MessageReceivedAsync);
}
}
公共虚拟异步任务MessageEndAsync(IDialogContext上下文,IAwaitable结果)
{
等待上下文。PostAsync(“感谢您的信息”);
context.Done(null);
}
}

MessageEndAsync
在用户发送输入之前不会被调用。不要执行
context.Wait
,只需将代码放在if子句中即可。因此,如果增量为4,您将发布消息并结束对话框


context.Wait
用于将bot置于等待状态,等待即将到来的用户输入

MessageEndAsync
在用户发送输入之前不会被调用。不要执行
context.Wait
,只需将代码放在if子句中即可。因此,如果增量为4,您将发布消息并结束对话框

context.Wait
用于将bot置于等待状态,等待即将到来的用户输入