微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用DirectLine App Service Extension重新连接到对话?

如何解决如何使用DirectLine App Service Extension重新连接到对话?

我正在使用DirectLine 3.0.3预览版NuGet包通过DirectLine App Service Extension创建一个.NET客户端。我可以使用directLineClient.StreamingConversations.ConnectAsync(conversationId,receiveMessageCallback)

通过WebSocket建立连接并开始新的对话

我正在保存从该会话生成的sessionId。但是,当我尝试使用该对话ID创建新的连接时,无法重新连接:

// Initialize a DirectLineClient using the secret.
var directLineClient = new DirectLineClient(
                           new Uri(_directLineEndpoint),new DirectLineClientCredentials(_directLinesecret));

var conversation =  await directLineClient.Conversations
                             .ReconnectToConversationAsync(savedConversationId);

当我执行上面的代码时,我得到一个空对话对象。当我在使用App Service Extensions之前执行相同的方法时,不会发生这种情况。

是否存在使用DirectLine App Service Extension通过WebSockets重新连接到现有对话的新方法

解决方法

因此,在进一步研究之后,似乎DirectLine App Service Extension不支持消息缓存,如该线程的答案和注释所提及:

Direct Line App Extension - How and where are messages cached?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。