问题描述
我正在使用DirectLine 3.0.3预览版NuGet包通过DirectLine App Service Extension创建一个.NET客户端。我可以使用directLineClient.StreamingConversations.ConnectAsync(conversationId,receiveMessageCallback)
我正在保存从该会话生成的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?