1

我正在从事 K2 Blackperl 项目,我们共享一台 K2 服务器用于开发和测试。我为开发和测试部署了 2 个网站,并连接到开发数据库和测试数据库,没问题。然后我需要将一个 K2 进程部署到 K2 服务器 2 次。一个用于开发,另一个用于测试。问题来了:应用程序从Web.config 中获取DBConnectionstring,K2 进程称为applcation dll。在 K2 服务器上运行的 K2 进程,dll 将自动检查 K2HostServer.config 中的 DBConnectionString。但是对于开发进程和测试进程都将链接到 K2HostServer.config 中的相同键(例如 DBConnectionString)。我无法配置数据库连接字符串来链接开发和测试。

经过研究,我有 2 个选项来解决这个问题,但看起来都不好:

选项1:更新应用程序数据访问代码,例如对于开发环境,我们更新代码以链接到* Dev *DBConnectionString。对于测试环境,我们更新代码以链接到 * Test *DBConnectionString,我们将两个键都放在 K2HostServer.config 中。然后Dev进程和dll可以链接到dev数据库,test进程和dll可以链接到test数据库。

选项 2:使用 K2 环境参数。我们可以在K2中定义环境,通过参数将DBConnectionString发送给dll。但它需要更新大量现有的 Web 应用程序代码。将 DBConnectionString 参数添加到每个方法,不要从 Web.config 中读取它。

小伙伴们,你们对此有什么好的想法吗?

4

1 回答 1

2

我强烈建议创建两台 K2 虚拟机:一台用于开发,一台用于测试。这样你就有了明确的职责分离,不会陷入这样的混乱。

K2 服务器并非设计为按照您的要求运行。

默里麦克唐纳 K2Insider

于 2011-09-08T13:51:30.120 回答