当我在ms bot框架中调用api时,WaterfallStepContext重复相同的对话框

问题描述

我正在研究Microsoft机器人框架。我的机器人已部署在工作场所(渠道)中。我有一个WaterfallDialog,当我调用API从任何步骤中获取一些信息时,同一步骤正在重复。 当我在本地调试代码时,该步骤不再重复。 C#是我的编程语言。

我的瀑布对话框代码。用于获取信息等待Util.getBackServerDetails();

  private async Task<DialogTurnResult> LetsBeginAsync(
      WaterfallStepContext stepContext,CancellationToken cancellationToken)
    {
        var backupStatusOptions = new List<Attachment>();
        var replybackupStatus = MessageFactory.Attachment(backupStatusOptions);
        HeroCard menuCard = Cards.beginpMenuCard(Constants.LETS_BEGIN_TEXT_MENU);

        replybackupStatus.Attachments.Add(menuCard.ToAttachment());

        await stepContext.Context.SendActivityAsync(replybackupStatus,cancellationToken);
        // await stepContext.Context.SendActivityAsync(Constants.BACKUP_STATUS);
        var promptOptions = new PromptOptions { };
        return await stepContext.PromptAsync(nameof(TextPrompt),promptOptions,cancellationToken);
       
      
    }
      private async Task<DialogTurnResult> IntroStepAsync(WaterfallStepContext stepContext,CancellationToken cancellationToken)
    {
        await stepContext.Context.SendActivityAsync("Second dialog");
        var returnvalue= **await Util.getBackServerDetails();**

        await stepContext.Context.SendActivityAsync("fetching complete");
        var promptOptions = new PromptOptions { };
        return await stepContext.PromptAsync(nameof(TextPrompt),cancellationToken);
    }

下面是调用API的方法

    public static async Task<string> getBackServerDetails()
    {
     
        var _endpoint = "https://reqres.in/api/users?delay=20";

        using (var httpClient = new HttpClient())
        {
            var response = httpClient.GetAsync(_endpoint).Result;
            var result = response.Content.ReadAsstringAsync().Result;


            return result;
        }
        }

我不确定为什么重复对话框。 在工作场所粘贴重复的消息。

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...