Javascript 为什么TrasScript logger/webBot会在刷新网页后存储以前对话中的活动?
我正在使用ITranscriptLogger和TranscriptLogGermddware将聊天记录存储在Cosmos DB中。我正在创建一个id等于对话id的新文档。当我刷新webchat时,它会重新开始并生成一个新的用户id和一个新的对话id 问题是,cosmos DB中的新文档/项目除了包含最新的对话外,还包含以前所有对话的聊天记录。除此之外,在工作中与另一个用户(在另一台计算机上)的所有对话都存储在同一个聊天记录中,并且也堆积在以前的对话之上。为什么呢?当我刷新网页时,如何分别存储每个对话,更重要的是,如何将与不同用户的对话分开 我之前已经发布了如何设置存储,这是如何设置网络聊天:Javascript 为什么TrasScript logger/webBot会在刷新网页后存储以前对话中的活动?,javascript,c#,botframework,Javascript,C#,Botframework,我正在使用ITranscriptLogger和TranscriptLogGermddware将聊天记录存储在Cosmos DB中。我正在创建一个id等于对话id的新文档。当我刷新webchat时,它会重新开始并生成一个新的用户id和一个新的对话id 问题是,cosmos DB中的新文档/项目除了包含最新的对话外,还包含以前所有对话的聊天记录。除此之外,在工作中与另一个用户(在另一台计算机上)的所有对话都存储在同一个聊天记录中,并且也堆积在以前的对话之上。为什么呢?当我刷新网页时,如何分别存储每个
...
MyBot
constgrouptimestamp=0;
(异步函数(){
const res=等待取数('https://directline.botframework.com/v3/directline/tokens/generate“,{method:'POST',标题:
{授权:'SecretKeyFromAzureDirectLineSettings'}});
const{token}=await res.json();
常量样式选项={
botAvatarImage:“botPictureUrl”,
Botravatarinitials:'PP',
userAvatarImage:'userPictureUrl',
UserAvatariInitials:'PP',
hideUploadButton:是的,
sendTypingIndicator:正确,
};
const store=window.WebChat.createStore({},({dispatch})=>next=>action=>{
如果(action.type==='DIRECT\u LINE/CONNECT\u completed'){
派遣({
键入:“网络聊天/发送事件”,
有效载荷:{
名称:'webchat/join',
值:{language:window.navigator.language}
}
});
}
返回下一步(操作);
});
window.WebChat.renderWebChat({
directLine:window.WebChat.createDirectLine({token}),
商店,
样式选项,
hideUploadButton:是的,
groupTimestamp:groupTimestamp,
},document.getElementById('webchat');
document.querySelector(“#webchat>*”).focus();
})().catch(err=>console.error(err));
我将用户和机器人响应添加到一个列表中,在新对话开始时,该列表从未被清除,因此这就是问题的解释。解决方案就是在新对话开始时清除列表…我将用户和机器人响应添加到一个在新对话开始时从未清除过的列表中,这就是问题的解释。解决方法就是在新的对话开始时清除列表