2010-04-20 4 views
1

먼저 프로그래밍에 익숙하지 않은 몇 가지 asmx 웹 서비스를 구축했지만 WCF 웹 서비스를 설정하는 방법에 대해서는 약간 분실했습니다. MSDN에서 많은 문서/기사/비디오를 읽음으로써 지난 몇 일 동안 이것을 연구하려고 시도했지만 여전히 혼란 스럽습니다.WCF와 n-tier에 관한 조언이 필요합니다.

현재 웹 서비스는 IIS를 사용하는 별도의 상자에서 호스팅되므로 WCF 라이브러리를 만들고 다른 WCF 응용 프로그램에서 라이브러리를 참조한 다음 IIS에서 해당 응용 프로그램을 호스팅하고 WCF 응용 프로그램 내 프런트 엔드에서? 나 한테는 한발 더 나아간 것 같은데 ...? 내 로컬 상자에서 개발할 때 통증은 말할 것도 없습니다.

올바른 조언이나 조언을 주시면 감사하겠습니다. 감사!

답변

2

WCF는 공통 어셈블리를 공유하는 옵션 (예 : 서비스와 클라이언트 모두 동일한 도메인 모델 라이브러리를 사용할 수 있음)을 제공하지만 필수 단계는 아닙니다.

ASMX와 마찬가지로 ASP.NET을 통해 WCF 서비스를 호스팅 할 수 있습니다. Visual Studio의 "WCF Service Application"프로젝트 템플릿은 기본적으로 IIS에서 호스팅되는 WCF 서비스로이 방식으로 구성됩니다.

가장 일반적인 시나리오의 경우 ASMX와 별다른 차이가 없습니다. WCF 서비스 응용 프로그램을 만들어 웹 서버에 배포하고 클라이언트 응용 프로그램에 서비스 참조를 추가합니다. 임포터는 자동으로 클래스를 생성하므로 어셈블리를 참조 할 필요가 없습니다. 추가 단계가 필요하지 않습니다.

아직 알지 못했다면 Microsoft의 Tutorial을 통해 확인해야합니다. ASMX 기반 아키텍처를 설정하는 단계와 매우 유사한 단계를 찾을 수 있습니다.

+0

흠. 나는 서비스를 테스트 할 수 있도록 메타 데이터를 사용하는 서비스의 클라이언트 인터페이스를 생성하는 데 혼란스러워했다. – MisterIsaak

+0

예를 들어, dll 템플릿을 사용하면 서비스 클라이언트는 끝점 및 바인딩과 관련된 많은 옵션을 많이 제공합니다. WCF 응용 프로그램 템플릿에 이러한 옵션이 모두 포함되어 있지 않은 이유는 무엇입니까? – MisterIsaak

+0

@ 지삭 : "dll 템플릿"은 무엇입니까? 정확히 당신이 묻고있는 것이 확실하지 않습니다. 예, WCF는 ASMX보다 바인딩 및 종단점에 대한 더 많은 옵션을 제공하지만 서비스 참조 가져 오기는 여전히 거의 자동으로 수행됩니다. "웹 참조 추가"를 사용하는 것처럼 "서비스 참조 추가"마법사를 사용하십시오. – Aaronaught

관련 문제