2009-06-26 3 views
0

저는 분산 된 개발 팀의 일원입니다. 우리는 모두 응용 프로그램이있는 원격 서버에 액세스하여 터미널 서비스를 수행합니다. 우리는 클라이언트 응용 프로그램이 모든 비즈니스 로직 기능을 제공하는 WCF 서비스를 사용하는 프로젝트 작업을하고 있습니다.WCF : 터미널 서비스를 통한 디버깅 서비스

개발 과정에서 개발자는 종종 서비스와 비즈니스 로직을 포함하여 사용자 인터페이스에서 데이터베이스 액세스까지 전체 유스 케이스를 개발해야합니다. 그런 경우 개발자는 주어진 유스 케이스에 대해 작성한 서버 측의 함수/메소드를 디버깅 할 수 있어야합니다. 그 문제는 서비스가 실행되어야하고 다른 개발자가 자신의 작업을 디버깅해야 할 때 예외가 발생합니다 (나는 'AddressAlreadyInUseException'이 확실하지 않다고 생각합니다). 2 차 개발자는 어떤 종류의 작업도 수행 할 수 없습니다. 서비스에서 디버깅. 이것은 심지어 우리가 (물론) 다른 사용자 이름을 가지고 있기 때문에 우리는 다른 세션에서 일하고 있다고 생각합니다.

클라이언트 응용 프로그램은 여전히 ​​가능합니다. 우리가 서비스에서 예외를 잡기 때문에 '원래'서비스 인스턴스로 작업을 계속할 수는 있지만 debbugging은 불가능합니다. 그리고 첫 번째 개발자가 wcf 서비스를 중지하면 앱이 종료됩니다. 실패합니다.

나는 당신이 우리에게 어떤 추천을 할 수 있는지 알고 싶습니다. 서버에 각 개발자의 작업 공간을 분리 할 수있는 일종의 도구가 있습니다. (또는 우리가 지불해야하는 경우에도) 우리가 일하는 방식으로 뭔가를 바꿀 필요가 있습니다.

모든 조언이나 단서에 대해 매우 감사하게 생각합니다. 안부,

곤잘로

답변

0

나는 각 개발자가 서버 서비스의 자신의 사본을 한 것으로 권 해드립니다 것이다.

우리가 개발할 때, 각 개발자는 자신의 컴퓨터에서 완전한 환경을 가지고 있습니다. 작업이 완료되면 버전 제어 시스템에 체크인됩니다. 다른 개발자가 최신 버전을 얻으면 새로운 기능이 다른 개발자에게 퍼집니다.

설치를 이해하는 경우 모든 개발자가 동일한 서버에 대해 작업하고 있습니다.이 경우 한 개발자의 프로그래밍 오류로 인해 모든 개발이 중단됩니다.

+0

안녕하세요 쉬라즈, 예, 맞습니다. 문제는 우리가 모든 코드, 클라이언트 및 서버를 다운로드해야한다는 것입니다. 우리는 몇 가지 이유로 (다른 회사들과 같은 회사 정책) 그렇게 할 수 없습니다. 한 번에 하나의 개발자 만이 서비스를 디버그 할 수 있기 때문에 우리가 실제로 가지고있는 문제는 더욱 심각합니다. 감사합니다, 곤잘로 –

0

안녕하세요, 디버거는 IP 통신을 통해 연결합니다. 즉, 서비스 나 프로세스가 수신기를 바인딩하면이 IP 포트를 다른 서비스 나 프로세스가 두 번 바인딩 할 수 없습니다.

이것이 예외를 throw하는 이유입니다.

가상 IP 구성이 Citrix에 있습니다. 한 개발자 만 사용할 수있는 서버에 VM을 배치 할 수도 있습니다. 이것은 또한이 문제를 해결할 것입니다.