2009-12-02 3 views
0

약 3 개월 전에 asmx 서비스에서 WCF 서비스로 전환했는데, 그때부터 두통을 겪었습니다.하지만 그걸로 고생했습니다. 그러나 노련한 개발자 일지라도 배포에는 여전히 문제가 있습니다.새로운 WCF 서비스를 손쉽게 배포하는 방법

일반적으로 나는 수년간의 디버깅 경험을 가진 개발자가 아닌 컨설턴트에게 배포하기 위해 솔루션을 제공합니다.

그래서 거의 항상 손을 잡고 있어야합니다.

3 가지 웹 서비스로 시작한 한 가지 해결책은 솔루션에 더 많은 서비스를 추가하는 것이 병참적 인 악몽이 될 수 있다는 것을 깨달았습니다.

구성은 클라이언트와 서버 모두에서 변경되어야하며 SSL과 같은 환경 변화에 따라 구성이 변경되어야합니다. 고전적인 asmx에서는 훨씬 더 간단합니다. 일반적으로 하이브리드 프로토콜은 필요하지 않으며 주로 기본 또는 wshttpbinding 만 사용합니다.

저는 SSL로 작동하지 못하는 서버 하나를 가지고 있었기 때문에 시간과 예산 제약으로 인해 서버를 중단하기로 결정했습니다.

제 질문은 환경을 감지하고 그에 따라 구성 할 수있는 자동화 된 쉬운 배포 도우미 응용 프로그램이 있거나 컨설턴트가 사용하기 쉬운 양식 기반 시스템을 따라갈 수있는 마법사 기반 응용 프로그램이 있습니까? 이러한 서비스.

미리 감사드립니다.

답변

3

아니요, WCF 배포를 쉽게하기 위해 현재 많은 부분이 있다고 생각하지 않습니다.

반면에, 평범한 XML 설정 파일에있는 config를 업데이트하면 항상 자신의 시스템을 꿈꿀 수 있습니다.

내가하고 싶은 것은 WCF 구성을 "외부화"하는 것입니다. Web.config의이 같은 것을 사용 :

<system.serviceModel> 
    <behaviors configSource="behaviors.config" /> 
    <bindings configSource="bindings.config" /> 
    <services configSource="services.config" /> 
</system.serviceModel> 

물론 - 비주얼 스튜디오는 모든이 아래에 빨간색 squigglies을 둘 것이다 - 그러나 그것은 작동합니까 - 그것은한다! :-) 나는 이것을 하루 종일 생산하고있다.

이렇게하면 web.config/app.config 만 남겨두고 개별 "외부화 된"구성을 조정하여 배포 할 수 있습니다.

우리는 또한 dev/test/staging 등 다양한 단계를 구분하기 위해 bindings.dev.config, bindings.test.config 등을 처리합니다. 물론 같은 일을 할 수도 있습니다. 고객 이름 또는 그와 비슷한 것.

그건 내가 지금 발견 한 최고의 해결책에 관한 것입니다.

+0

그건 아주 좋은 제안처럼 들리지만, web.config 또는 app.config의 모든 세부 사항에 압도당하는 컨설턴트에게 도움이 될 것입니다. –

+0

+1 좋은 아이디어, Marc. –

관련 문제