netTcpBinding 기반의 WCF 서비스에 다수의 (논리적으로 구분할 수 잇는) 서비스가 구성되어 있다.
서비스는 IIS 호스팅 환경에 셋팅되어 있는데, (논리적인) 서비스 중 한 놈은 큰 용량의 자료를 클라이언트로부터 수신하여 처리하는 기능을 가지고 있는데 이 놈 때문에 다른 서비스의 질에 영향을 주고 싶지 않아 응용프로그램 풀을 분리하기로 결정했다.
IIS 상 웹사이트 하위 디렉터리를 응용프로그램으로 바꾸고 풀을 따로 설정한 후 실행하니 WCF 서비스가 동작하지 않는다.
문제는 라이브러리로 만들어진 서비스 dll을 찾지 못하는 것이다.
가만히 생각해보니, 하위 폴더를 독립된 응용프로그램 영역으로 만들었으니 이 폴더가 응용 프로그램 도메인 루트가 되어 더이상 웹 사이트 루트의 bin 폴더가 참조되지 않기 때문이다.
그래서 bin 폴더를 옮겨놓으니 잘 된다.
그러나 매번 빌드하고 bin 폴더를 옮기는 것은 매우, 아주, 심히, 귀찮은 일이다. 깜빡할 수도 있고...
VS의 빌드 이벤트는 이런 상황에 알맞은 해답을 제시해 준다. 바로 빌드이벤트 명령이다.
다음과 같이 빌드 후 이벤트 명령줄에 입력한다.
이젠 프로젝트를 빌드하면 하위 폴더에 자동으로 dll 들이 복사되어 신경 쓸 필요가 없게 되었다.
'.NET Framework' 카테고리의 다른 글
Security Context Token(SCT) Expired on WCF (0) | 2015.03.03 |
---|---|
Caching in WCF (2) | 2014.02.21 |
ASP.NET SignalR (0) | 2013.12.06 |
maxConcurrentSessions in WCF (0) | 2013.11.21 |
SQL Double Split (0) | 2013.11.13 |