0

所以我使用微软的 Bot 框架和他们的 DirectLine api 来与之交谈。我这样做是因为我需要向机器人发送通知。下面的类由我在后端拥有的端点调用。所以当我调用我的通知端点时,这个类被调用并且应该开始与机器人的对话以触发其中的某些事件。问题是它似乎没有按预期工作。当我运行代码并向我的端点发出请求时,它卡在 var conversation = await client.Conversations.StartConversationAsync(); await 关键字上会停止执行直到它完成,问题是它永远不会完成。但是我可以在调试窗口中看到请求是使用 201 创建的状态码发送的,所以它应该完成,但它永远不会完成。不知道在这里做什么。

 private static async Task StartBotConversation()
        {
            string directLineSecret = "SECRECT";
            string fromUser = "DirectLineSampleClientUser";

            DirectLineClient client = new DirectLineClient(directLineSecret);

            Debug.WriteLine("Before starting con ");
            var conversation = await client.Conversations.StartConversationAsync();

            Debug.WriteLine("After starting con");
            Activity userMessage = new Activity
            {
                From = new ChannelAccount(fromUser),
                Text = "ERROR1337",
                Type = ActivityTypes.Trigger
            };
            Debug.WriteLine("Before posting activity");
            await client.Conversations.PostActivityAsync(conversation.ConversationId, userMessage);
            Debug.WriteLine("After posting activity");
        }
4

1 回答 1

0

这样做:BotConversation = await Client.Conversations .StartConversationAsync().ConfigureAwait(false); 它对我有用,我希望它对你有帮助。

于 2017-08-11T12:39:09.160 回答