Я создаю бот C#, используя Microsoft Bot SDK. У меня есть главный диалог, который переходит к последовательным диалогам на протяжении всего разговора и сохраняет сущности Луиса в профиль пользователя. В конце, когда я возвращаюсь в главное диалоговое окно, мне нужно распечатать все объекты, которые есть в профиле пользователя.
Main Dialog ->
Dialog 1 (Save entity to User Profile) ->
Dialog 2 (Save entity to user Profile) -> , ... , ->
Main Dialog (Print User Profile Entities)
Итак, мой профиль пользователя выглядит так:
public class UserProfile
{
public string [] Entity1 { get; set; }
public string [] Entity2 { get; set; }
}
И мой текущий метод обновления значений в профиле пользователя выглядит следующим образом:
private async Task<DialogTurnResult> GetEntity1Async(WaterfallStepContext stepContext, CancellationToken cancellationToken)
{
var luisResult = await _luisRecognizer.RecognizeAsync<Luis.ConversationBot (stepContext.Context, cancellationToken);
var userInfo = userProfile(){
Entity1 = luisResult.Entities.Entity1,
};
await stepContext.Context.SendActivityAsync(MessageFactory.Text($"You wrote {userInfo.Entity1}."), cancellationToken);
return await stepContext.BeginDialogAsync(nameof(Dialog2));
}
Я изо всех сил пытаюсь создать «глобальный» профиль пользователя, чтобы в нем можно было создавать объекты в диалоговых окнах. , Я предполагаю, что печать сущностей в основном методе в конце будет такой же, как я делаю это выше?
Любая помощь, высоко ценимая, новая для фреймворка ботов и C#.