2014-04-01 7 views
1

다른 EndPoint URI를 갖지만 다른 설정이 동일하게 유지되는 WCF 클라이언트를 개발해야하는 상황에 처해 있습니다. 나는 사용자로부터 EndPoint URI를 얻는다.다른 엔드 포인트 URI에 대한 WCF 클라이언트 측 구성

그래서 ChannelFactory를 사용하여 WCF 서비스를 사용하는지 알고 싶습니다. 그런 다음 하나의 끝점이있는 WCF 클라이언트 측 구성을 포함하는 app.config 파일이 있어야하고 주소 속성이 비어 있습니다. 사용자로부터 입력으로 얻을 수 있습니다.) 또는 프로그래밍 방식으로 서비스를 사용해야합니다.

답변

0

구성 파일에 끝점을 비워 둡니다. 코드에서 사용자가 올 수있는 매개 변수로 endpointAddress를 사용하는 아래 메소드를 추가하십시오. 이 방법을 사용하여 결국 프록시 생성에 사용할 채널 팩토리를 만듭니다.

private ChannelFactory<IService1> GetChannelFactory(string endpointAddress) 
{  
    // create a binding that will be common 
    BasicHttpBinding myBinding = new BasicHttpBinding(); 
    //get your uri from the user 
    EndpointAddress myEndpoint = new EndpointAddress(endpointAddress); 
    ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint); 
    return myChannelFactory; 
} 
+0

응답 해 주셔서 감사합니다. ChannelFactory를 사용하여 프록시를 만드는 동안 클라이언트 구성에 대한 의존성이 있습니까? 왜냐하면 위의 방법을 사용하면 .config 파일에 구성이 없더라도 프록시를 성공적으로 만들 수 있다고 생각하기 때문입니다. 내가 틀렸다면 나를 바로 잡아라. –

+0

테스트가 필요할 수 있습니다. 내 머리 꼭대기에서 나는 그것을 모르기 때문에 – Dhawalk