2011-03-16 4 views
2

에 서비스 참조에 대한 동적 주소는 기본적으로, 나는 WCF 서비스 (Calculator.svc)를 소비해야하는 응용 프로그램이 있습니다. 디버깅하는 동안 내 로컬 컴퓨터에서 서비스를 호스팅하지만 릴리스시 서비스는 IIS 서버에서 호스팅됩니다.WCF : 클라이언트

디버그 주소 : http://localhost/MyProj/Services/Calculator.svc
릴리스 주소 : http://www.mycompany.com/Services/Calculator.svc

나는 서비스 참조를 추가하고 손으로 서비스를 구성하지 않는 경우, 이것은 더 이상 문제가되지 않습니다. 그러나 localhost 주소에 서비스 참조를 추가하면 해제 모드에서 어떻게 동적으로 변경합니까?


참고 : 저는 새 CalculatorClient를 만들고 내 자신의 Binding 및 EndpointAddress에서 피드를 만들 수 있다는 것을 알고 있지만 적절한 방법입니까?

CalculatorClient client; 

#if NOT DEBUG 
Binding binding = new BasicHttpBinding("MyConfig"); 
EndpointAddress remoteAddress = new EndpointAddress("http://www.mycompany.com/Services/Calculator.svc"); 

client = new CalculatorClient(binding, remoteAddress); 

#else 
client = new CalculatorClient(); 
#endif 

더 쉬운 방법이나 더 적절한 방법이 있습니까?

1) 빌드/배포 스크립트에 app.config의 값을 변경합니다

답변

1

은 기본적으로 두 가지 옵션이 있습니다.

2) 모두에 대해 동일한 주소를 사용합니다. dev 컴퓨터에서 HOSTS 파일에 www.mycompany.com을 localhost로 가리키는 항목을 추가하여이를 설정할 수 있습니다. 이 작업이 완료되면 iis에서 호스트 헤더 www.mycompany.com에 대한 웹 사이트를 설정하고 거기에서 프로젝트를 제공하십시오.