如何在机器人框架IForm中识别哪个活动委托Microsoft TRUE



我有两个活动代表(S):

ActiveDelegate isFormFlow = (procReq) => procReq.UXExp == UserExperience.FormFlow;

ActiveDelegate isLUISFlow = (procReq) => procReq.UXExp == UserExperience.LUIS;

现在,在我的 POST 方法中,我想检查 FormFlow 是处于活动状态还是 LUIS,因此我将调用该函数。

public virtual async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{                        
  if (activity != null)
  {
    // one of these will have an interface and process it
    switch (activity.GetActivityType())
    {
      case ActivityTypes.Message:
        if (isFormFlow is TRUE)
        {
          await Conversation.SendAsync(activity, MakeRootDialogForm);
        }
        else if (isLUISFlow is TRUE)
        {
          await Conversation.SendAsync(activity, MakeRootDialogLUIS);
        }
        break;
      case ActivityTypes.ConversationUpdate:
      case ActivityTypes.ContactRelationUpdate:
      case ActivityTypes.Typing:
      case ActivityTypes.DeleteUserData:
      default:
        Trace.TraceError($"Unknown activity type ignored: {activity.GetActivityType()}");
        break;
    }
  }
  return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}

请帮助我如何识别哪个代表处于活动状态。感谢任何帮助!

Microsoft.Bot.Builder.FormFlow.ActiveDelegate<T>

FormFlow FormDialog<T>中使用,以确定给定当前表单状态的特定步骤是否处于活动状态。 它通常不用于从多个根对话框中进行选择(通常应该只有一个根对话框)。

相关内容

最新更新