2010-03-09 4 views
0

제 문제는 net.tcp 바인딩을 사용하는 서비스에서 mex를 사용하려고하는 것입니다. 해당 바인딩은 localhost 포트 5000에 대한 것이며, 같은 포트에서 mex를 활성화하고 http에 사용할 수있게하려면 서비스 호스트에서 HttpGetEnabled를 활성화해야합니다. 이 모든 잘 작동하지만 바인딩을 추가하려고 할 때 "net.tcp : // localhost : 5000/test"바인딩 때문에 실패합니다. 동일한 포트에서 mex를 사용할 수있는 방법이 있습니까? 그러나 다른 uri를 사용할 수 있습니까?프로그래밍 방식으로 WCF 바인딩 및 메타 데이터 추가 추가

NetTcpPortSharing을 사용하지 않으면.

코드를 통해 다른 포트에 MEX를 추가 할 수 있기 때문에 코드가 문제라고 생각하지 않습니다. 문제는 net.tcp : // localhost : 5000/test를 WCF로 사용하는 것입니다. tcp 기반 enpoint 및 net.tcp : // localhost : 5000/test/mex는 TCP 끝점에 대한 WSDL을 제공하는 http mex 끝점입니다.

덕분에, 토템

+0

설정 및/또는 코드에서 이러한 끝점을 추가 할 수 있습니까? –

+0

나는 그렇게 생각하지 않을 것이다. 다른 URL이 동일한 실제 IP로 해석됩니까? – rerun

답변

0

나는이 포트 공유없이 할 어차피 결론에 도달했다. net.tcp 기반 끝점에 대한 메타 데이터를 추가하는 것은 매우 간단하며 대부분의 경우 자동으로 수행되므로 HttpGetEnabled를 사용하도록 설정 한 경우 HTTP 기반 메타 데이터를 사용하려면 새 포트를 할당해야합니다.

관련 문제