所以我使用微软的 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");
}