代码之家  ›  专栏  ›  技术社区  ›  Richard Bailey

使用IDialog处理各种消息

  •  1
  • Richard Bailey  · 技术社区  · 8 年前

    假设你有一个 ContactUsDialog , PizzaOrderDialog 以及 MyOrderDialog . 用户会发送这样的消息:' 我点的披萨有多远 “-你怎么知道该启动哪个对话框?

        public async Task<HttpResponseMessage> Post([FromBody] Activity activity)
        {
            if (activity != null)
            {
                switch (activity.GetActivityType())
                {
                    case ActivityTypes.Message:
                        await Conversation.SendAsync(activity, () => new ContactUsDialg());
                        await Conversation.SendAsync(activity, () => new PizzaOrderDialog());
                        await Conversation.SendAsync(activity, () => new MyOrderDialog());
                        break;
            }
            return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
        } 
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   Ezequiel Jadib    8 年前

    你不能用你想要的方式去做。您需要决定哪一个是根对话框,并将消息重新路由到其他对话框。

    以下几个示例可能对您有所帮助:

    是的,您可以将LUIS用作根对话框,然后调用子对话框。一些帖子可能也有帮助: