AIMLBot C#拯救大脑

AIMLBot C#拯救大脑,c#,.net,aiml,C#,.net,Aiml,我正在c#中使用AIMLbot.dll。我看到了两个函数saveToBinaryFile和loadFromBinaryFile。我认为这些功能是将机器人大脑中的当前内容存储到一个文件中。但它似乎不起作用!意思是,如果我说记住我的名字并将内容保存到GraphMaster.dat文件中。下次我加载同一个文件的内容时,当我问我的名字时,它给出了错误的答案。我的课程如下 class AIBot { private Bot myBot; private User m

我正在c#中使用AIMLbot.dll。我看到了两个函数
saveToBinaryFile
loadFromBinaryFile
。我认为这些功能是将机器人大脑中的当前内容存储到一个文件中。但它似乎不起作用!意思是,如果我说记住我的名字并将内容保存到GraphMaster.dat文件中。下次我加载同一个文件的内容时,当我问我的名字时,它给出了错误的答案。我的课程如下

class AIBot
    {
        private Bot myBot;
        private User myUser;

        public AIBot()
        {
            myBot = new Bot();
            myUser = new User("UnknownUser", myBot);
        }

        public void Initialize()
        {
            myBot.loadSettings();
            myBot.isAcceptingUserInput = false;
            myBot.loadAIMLFromFiles();
            myBot.isAcceptingUserInput = true;
        }

        public void Load()
        {
            if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\Graphmaster.dat"))
                myBot.loadFromBinaryFile(AppDomain.CurrentDomain.BaseDirectory + @"\Graphmaster.dat");
        }

        public string GetResponse(string input)
        {
            Request r = new Request(input, myUser, myBot);
            Result res = myBot.Chat(r);
            return (res.Output);
        }

        public void Save()
        {
            myBot.saveToBinaryFile(AppDomain.CurrentDomain.BaseDirectory + @"\Graphmaster.dat");
        }
    }

有人能帮我指出这个问题吗

我找到了解决这个问题的办法。希望它能帮助别人

  • 将用户会话保存为

    this.myUser.Predicates.DictionaryAsXML.Save(saveFileDialogDump.FileName);
    
  • 下次加载存储的会话

    this.myUser.Predicates.loadSettings(openFileDialogDump.FileName);