如何根据用户从“未知”位置的选择加载配置文件

本文关键字:位置 选择 加载 配置文件 未知 何根 用户 | 更新日期: 2023-09-27 18:36:32

我已经搜索了又搜索,但找不到解决我特定问题的方法。 我正在更新一个控制台应用程序,该应用程序现在将用于多个客户端。 我们已经决定,至少现在将信息存储在数据库中,将客户端信息存储在配置文件中。 每个客户端都有自己的配置文件。 我需要知道如何从"未知"位置加载/任何配置文件。 我找到的所有示例都希望我放在文件的路径中。 使用我的计算机时,我会知道路径,但是一旦它被推送到其他服务器,文件的路径就会改变。

在这些条件下工作,如何在不知道文件路径的情况下为任何客户端加载配置文件?

编辑:控制台应用程序仅在一台服务器上运行,但它用于转到不同的客户端网站并抓取其网站。 这就是为什么每个客户端都有自己的配置文件。 它包含获取和使用其网站所需的信息。 我们为应用设置了一个任务,以便在计时器上运行每个客户端。

如何根据用户从“未知”位置的选择加载配置文件

由于所有内容都是从 bin 文件夹中读取的,因此我查看了属性并从"不复制"更改为"始终复制"以复制到输出目录。 现在它将在 bin 文件夹中找到配置文件。 这个问题的答案让我朝着阅读配置文件的方向前进。

在编写每段代码时,考虑到它将在另一个文件中使用,例如使用 include 语句。 因此,每个文件都在另一个文件中使用,直到我们到达包装器文件,其唯一目的是定义配置文件的位置。应用程序将始终通过此类包装器文件调用。此包装器文件将执行任何必要的操作来确定配置文件的位置,并使其可用于包含的文件。如果它知道用户,则可以在表中查找。这里的关键点是,当您将代码从一个环境移动到另一个环境时,包装器文件不会移动。我认为这是一个有用的功能,因为我们不希望每次将代码从一个环境移动到另一个环境时都对其进行编辑。 此方法的另一个优点是它适用于所有环境,甚至非常有限的环境。例如,假设您只向程序员提供一个文件夹作为沙箱来试验代码。此程序员无权访问/bin 或/etc 目录。相比之下,建议的方法在这种情况下可以正常工作,因为程序员可以在其本地包装器文件中设置他想要的任何位置的配置文件。这里讨论这个问题 如何组织代码,以便我们可以移动和更新它,而无需编辑配置文件的位置?