私はK2Blackperlプロジェクトに取り組んでおり、開発とテストの両方で1台のK2サーバーを共有しています。開発とテスト用に2つのWebサイトをデプロイし、開発データベースとテストデータベースに接続します。問題はありません。次に、1つのK2プロセスをK2サーバーに2回デプロイする必要があります。1つは開発用で、もう1つはテスト用です。問題が発生する:アプリケーションはWeb.configからDBConnectionstringを取得し、K2プロセスはapplcationdllと呼ばれます。K2サーバーで実行されているK2プロセスの場合、dllはK2HostServer.configからDBConnectionStringを自動チェックします。ただし、開発プロセスとテストプロセスの両方で、K2HostServer.configの同じキー(DBConnectionStringなど)にリンクします。DevとTestの両方をリンクするようにDB接続文字列を構成できません。
調査の結果、問題を解決するための2つのオプションがありましたが、どちらも良くないようです。
オプション1:アプリケーションデータアクセスコードを更新します。たとえば、開発環境の場合、* Dev *DBConnectionStringにリンクするようにコードを更新します。テスト環境では、コードを更新して* Test * DBConnectionStringにリンクし、2つのキーの両方をK2HostServer.configに配置します。次に、Devプロセスとdllはdevデータベースにリンクでき、テストプロセスとdllはテストデータベースにリンクできます。
オプション2:K2環境パラメーターを使用します。K2で環境を定義し、パラメーターによってDBConnectionStringをdllに送信できます。ただし、既存のWebアプリケーションコードの多くを更新する必要があります。DBConnectionStringパラメーターを各メソッドに追加し、Web.configから読み取らないでください。
皆さん、これについて何か良い考えがありますか?