C# 仅当没有会话处于活动状态时才可存储

C# 仅当没有会话处于活动状态时才可存储,c#,botframework,C#,Botframework,我有一个使用luis的机器人,但由于luis通常需要2-3秒的响应时间,我实现了一个IScorable,它使用简单的正则表达式模式来匹配不需要通过luis的常见请求(您好,您是什么人等) 我的问题是,当用户处于子对话框或提示等待用户输入时,scorable仍在运行,这可能导致以下情况: 用户:你好 机器人:嗨 (来自scorable) 用户:我的航班是几点 你的航班号是多少 在上面的示例中,用户下一条消息将被发送到LookupFlightNumber方法,但是如果用户说“hello”,scora

我有一个使用luis的机器人,但由于luis通常需要2-3秒的响应时间,我实现了一个
IScorable
,它使用简单的正则表达式模式来匹配不需要通过luis的常见请求(您好,您是什么人等)

我的问题是,当用户处于子对话框或提示等待用户输入时,scorable仍在运行,这可能导致以下情况:

用户:你好

机器人:嗨 (来自scorable)

用户:我的航班是几点

你的航班号是多少

在上面的示例中,用户下一条消息将被发送到
LookupFlightNumber
方法,但是如果用户说“hello”,scorable将匹配,bot将说hello

在scorable中,当
IDialogStack
的帧数超过1帧时,我尝试在
HasScore
覆盖中返回
false
,但帧计数似乎不是我所期望的

更新: 我已经将逻辑从Scorable移到了
RootDialog.MessageReceived
中作为替代,但我仍然感兴趣的是,是否可以使用
IScorable

PromptDialog.Text(context, LookupFlightNumber, "What is your flight number?");