본문 바로가기
개발언어/ASP.NET

How to configure multiple WCF binding configurations for a single scheme

by 엔돌슨 2013. 1. 17.
반응형

How to configure multiple WCF binding configurations for a single scheme


어떻게 하면 WCF 를 멀티바인딩해서 쓸 수 있을까? 
결론은 L4 장비로 묶여 있어서 서버는 외부아이피로 연결되지만 실제로 내부망에서는 내부 ip로 세팅된 웹서비스로 구동되는 경우다. 글쓴이는 L4 장비와 네트워크에 대해서 잘 모른다.

구성상 WCF 서비스를 연결할 경우,
외부망에서는 외부IP로 서비스가 되어야 하고
내부망에서는 내부IP로 서비스가 되어야 한다.

하지만 보안장치에 의해서 WCF 하는 서버 안에서 외부IP로 서비스가 호출되지 않는다.
서버는 내부IP가 세팅되어 있기 때문에 내부IP로 WCF 호출이 되어야 한다.


결론,

내부망에서 호출하면 IP가 192.~~~ 이런식으로 호출되는 WCF 호출이 가능하면 된다. 아래의 그림처럼.




외부망에서 호출하면 IP가 222.~~~ 이런식으로 호출되는 WCF 호출이 가능하면 된다. 아래의 그림처럼.



자동으로 IP를 멀티 바인딩하여 바꾸어 주는 작업을 해주어야 한다.





Web.config 파일의 소스



서비스를 2개 만들고 끝점의 바인딩을 다르게 처리하면 된다. endpoint 를 2개 만들고 이름을 다르게 한다. 그리고 바인딩 되는 속성을 2개 만들어 준다.

        <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
그리고 멀티사이트 바인딩 처리를 활성화 시켜주면 동작 한다.