私は2つのActiveDelegate(S)を持っています:Microsoft BotフレームワークでどのActiveDelegateがTRUEであるかを特定する方法IForm?
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);
}
アクティブな代理人を特定する方法を教えてください。助けをよろしく!