从上下文中获取ConversationId
问题描述:
如何从IDialogContext context
获取ConversationId
?我知道有一个ConverationData
属性,但似乎只是一个可以容纳任何东西的数据包。从上下文中获取ConversationId
这个包里的id是什么?如果是这样,检索它的关键是什么?
public async Task General(IDialogContext context, LuisResult result)
{
//how can I access the conversationId here
}
答
所以我找到了一种方法,但我不确定它是否是最好的方法。
被传入的context
对象上有一个data
字段,它包含原始message
对象又包含了ConversationId
。不幸的是这是私人的。
但context
确实有一个CreateMessage
方法返回一个Message
对象,其中包含ConversationId
它是可访问的。
var id = context.MakeMessage().ConversationId;
就像我说的,我不确定这是否是最好的方法,但它是我能够实现这一目标的唯一方法。如果有人有更好的方法,我会留下来。