2011-09-07 3 views
1

저는 K2 Blackperl 프로젝트를 진행하고 있으며, 개발 및 테스트를 위해 하나의 K2 서버를 공유하고 있습니다. dev에 2 개의 웹 사이트를 배포하고 테스트하고 dev 데이터베이스에 연결하고 데이터베이스를 테스트하면 문제가되지 않습니다. 그리고 나서 하나의 K2 프로세스를 K2 서버에 두 번 배포해야합니다. 하나는 dev 용이고 다른 하나는 테스트 용입니다. 문제는 다음과 같습니다. 응용 프로그램은 Web.config에서 DBConnectionstring을 가져오고 applcation dll이라는 K2 프로세스에서 처리합니다. K2 서버에서 실행중인 K2 프로세스는 dll이 K2HostServer.config에서 DBConnectionString을 자동으로 검사합니다. 하지만 dev 프로세스와 테스트 프로세스 모두 K2HostServer.config (예 : DBConnectionString)의 동일한 키에 연결됩니다. Dev와 Test를 연결하기 위해 DB 연결 문자열을 설정할 수 없습니다.dev 및 테스트 용으로 동일한 K2 서버를 공유하는 방법은 무엇입니까?

연구 후에 나는 문제를 해결하기 위해이 옵션을 가지고 있지만 둘 다 좋지 같습니다

옵션 1 : 응용 프로그램 데이터 액세스 코드를 업데이트, 예를 들어, dev 환경의 경우 * Dev * DBConnectionString에 연결할 코드를 업데이트합니다. 테스트 환경에서는 * * DBConnectionString에 연결하도록 코드를 업데이트합니다. 두 키를 모두 K2HostServer.config에 넣습니다. 그런 다음 Dev 프로세스 및 DLL은 dev 데이터베이스, 테스트 프로세스 및 DLL 테스트 데이터베이스에 연결할 수있는 링크 할 수 있습니다.

옵션 2 : K2 환경 매개 변수를 사용하십시오. K2에서 환경을 정의하고 DBConnectionString을 매개 변수로 dll로 전송할 수 있습니다. 기존의 웹 응용 프로그램 코드를 많이 업데이트해야합니다. 각 methord에 DBConnectionString 매개 변수를 추가하고 Web.config에서 읽지 마십시오.

얘들 아, 이것에 대해 좋은 생각있어?

답변

1

dev에 하나, 테스트를 위해 하나씩 2 대의 K2 가상 시스템을 생성하는 것이 좋습니다. 이런 식으로 당신은 명확한 직무 분리를 할 수 있으며 이와 같이 어떤 얽매이지 않는 일도 없습니다. K2 서버는 요구 사항에 따라 실행되도록 설계되지 않았습니다.

머레이 맥도날드 k2 인 사이어

관련 문제