在 ASP.NET Project 中 AIML Bot 是无法找到配置文件吗?

标签: Asp.net .Net C#
发布时间: 2017/3/26 5:36:28
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想为我的 ASP.NET Web 项目,实施 AIML bot 但总是收到此错误︰

无法找到指定的文件。

源错误︰ 行 31:
{

第 32 行︰ myBot = 新 Bot();

第 33 行︰ myBot.loadSettings(@"C:\Users\Public\Documents\SITE\bin\config");

第 34 行︰ 对象 = 新用户 ("DefaultUser",this.myBot);

第 35 行︰ AIMLbot.Utils.AIMLLoader 装载机 = 新 AIMLbot.Utils.AIMLLoader(this.myBot);

这里是我的代码︰

protected void Page_Load(object sender, EventArgs e)
{
            myBot = new Bot();
            myBot.loadSettings(@"C:\Users\Public\Documents\SITE\bin\config");
            myUser = new User("DefaultUser", this.myBot);
            AIMLbot.Utils.AIMLLoader loader = new AIMLbot.Utils.AIMLLoader(this.myBot);
            this.myBot.isAcceptingUserInput = false;
            loader.loadAIML(@"C:\Users\Public\Documents\SITE\bin\aiml");
            this.myBot.isAcceptingUserInput = true;
}

我听着像在本地主机上运行时找不到配置文件夹吗?我到底做错了?

解决方法 1:

我知道,这老的帖子,但就加入我的解决办法,以防其他人也有同样的问题。

你的问题是你不指定设置文件。

这样试试︰

 myBot.loadSettings(@"C:\Users\Public\Documents\SITE\bin\config\Settings.xml");

但当部署应用程序,问题将持续存在,因为即使您从您的文件加载设置,配置文件夹中其他 xml 文件的路径将是相同:

 return Path.Combine(Environment.CurrentDirectory, this.GlobalSettings.grabSetting("configdirectory"));

你可以做的就是︰ 要么你添加的 config 目录中的 C:\Windows\System32\inetsrv 或者你可以下载源代码并修改 PathToConfigFiles 属性,以匹配您的要求,重建并再次添加到您的项目引用。

像这样的财产进行了修改︰

  private string _pathToConfigFiles;
        public string PathToConfigFiles
        {
            get
            {
                return Path.Combine(this._pathToConfigFiles, this.GlobalSettings.grabSetting("configdirectory"));
            }
            set
            {
                this._pathToConfigFiles = value;
            }
        }

我实例化 bot 有︰

   Bot myBot = new Bot();
   myBot.PathToConfigFiles = ConfigurationManager.AppSettings["AimlConfigPath"];
   myBot.loadSettings(ConfigurationManager.AppSettings["AimlSettingsPath"]);

"AimlConfigPath"在哪里 D:\MyProject\bin 和"AimlSettingsPath"是 D:\MyProject\bin\config\Settings.xml 均已在我的应用程序的 web.config 文件中添加。

赞助商