미스터 빈, 너로구나

Posted in .NET Framework // Posted at 2014. 7. 31. 16:57

netTcpBinding 기반의 WCF 서비스에 다수의 (논리적으로 구분할 수 잇는) 서비스가 구성되어 있다.

 

서비스는 IIS 호스팅 환경에 셋팅되어 있는데, (논리적인) 서비스 중 한 놈은 큰 용량의 자료를 클라이언트로부터 수신하여 처리하는 기능을 가지고 있는데 이 놈 때문에 다른 서비스의 질에 영향을 주고 싶지 않아 응용프로그램 풀을 분리하기로 결정했다.

 

IIS 상 웹사이트 하위 디렉터리를 응용프로그램으로 바꾸고 풀을 따로 설정한 후 실행하니 WCF 서비스가 동작하지 않는다.

 

문제는 라이브러리로 만들어진 서비스 dll을 찾지 못하는 것이다.

 

가만히 생각해보니, 하위 폴더를 독립된 응용프로그램 영역으로 만들었으니 이 폴더가 응용 프로그램 도메인 루트가 되어 더이상 웹 사이트 루트의 bin 폴더가 참조되지 않기 때문이다.

 

그래서 bin 폴더를 옮겨놓으니 잘 된다.

그러나 매번 빌드하고 bin 폴더를 옮기는 것은 매우, 아주, 심히, 귀찮은 일이다. 깜빡할 수도 있고...

 

VS의 빌드 이벤트는 이런 상황에 알맞은 해답을 제시해 준다. 바로 빌드이벤트 명령이다.

 

다음과 같이 빌드 후 이벤트 명령줄에 입력한다.

 

xcopy "$(TargetDir)*.*" "$(ProjectDir)\SubDirectory\bin" /Y /I

 

이젠 프로젝트를 빌드하면 하위 폴더에 자동으로 dll 들이 복사되어 신경 쓸 필요가 없게 되었다.

 

 

'.NET Framework' 카테고리의 다른 글

Security Context Token(SCT) Expired on WCF  (0) 2015.03.03
미스터 빈, 너로구나  (0) 2014.07.31
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

submit