2010-04-15 3 views
2

하드 코딩 된 구성의 자체 호스팅 WCF 서버가 있습니다. (urlr ....) 작동하지 않았다 새로운 설정 기능 (포트 변경, SSL 추가)을 구현하려고 할 때까지 서버가 잘 작동하고 내 코드의 문제가 어디에 있는지 찾기가 어렵습니다.프로그래밍 방식의 WCF 구성을 app.config로 변환하는 방법

대신 WCF 개체를 선언하는 코드 내부에 파고, 나는 다른 접근 방식에 대해 생각 :

덤프 - 투 - 파일에 그 하드 코딩 WCF 구성 (전체)를 같은의 app.config에 어떤 방법이 있나요 모든 구성이로드 된 후 텍스트 파일? 이렇게하면 전체 설정을 쉽게 전체적으로 볼 수 있습니다.

mmm ... 그런데 반대 방향으로 번역 할 방법을 아는 사람이 있습니까? 코드를 설정하십시오.

모든 조언을 환영합니다!

나는 당신이 어딘가에 당신의 C#/VB 코드를 덤프하고 구성이 설정 파일의 XML 스키마로 변환 (반대의 경우도 마찬가지)가하는 자동 방법을 찾을 것이라고 생각하지 않습니다

답변

0

는, 그러나 당신이 오퍼를 요구하는 경우 내 개인적인 견해로, 코드에서 구성을 하드 코딩해야하는 강력한 이유가 없다면 (다시 생각해 보겠다.) 코드에서 wcf 구성을 이동해야한다. 구성은 코드의 책임이 아닙니다. 구성입니다. 즉, "구성"을 변경해야하는 경우 새 빌드가 필요하지 않습니다.

코드에서는 서비스 소비 로직에만 집중해야하며 백엔드 엔진에 대한 구성은 그대로 유지해야합니다. 때로는 서비스 조절, 최대/최소 버퍼 크기, MaxItemsInObjectGraph 할당량 등과 같은 일부 설정을 조정해야 할 수도 있음을 기억하십시오. 하드 코딩 된 경우 새 배포를 의미합니다. 구성 파일 또는 다른 저장소에있는 경우 간단한 구성 변경을 의미합니다.

구성 파일에 모든 구성이있는 경우 코드를 환경 (환경, 개발, QA, UAT, 사전 제작, 생산)으로 이동할 때 환경간에 필요한 경우 다른 설정을 사용할 수 있습니다 (사용한 포트 번호가 이미 사용 중이거나 방화벽에서 차단 되었기 때문에). 릴리스 관리 팀은 구성 파일에서이를 올바르게 구성합니다.

서비스 구성을보다 세부적으로 관리하려는 경우 서비스의 팩토리 서비스를 만들고 중앙 집중식 위치 (데이터베이스, XML 파일 등)에서 모든 구성을 가져올 수 있으며 코드를 구성 할 수 있습니다 즉석에서.

도움이 되었기를 바랍니다 ...

관련 문제