2011-01-21 5 views
1

우리 회사에는 2 개의 프로젝트가 있으며, 2 번째에는 ASP.NET 웹 사이트에서 호스팅하는 WCF 서비스를 통해 1 차를 호출합니다.WCF 서비스 이용 방법

제 아이디어는 호스팅 된 WCF 서비스와 함께 asp.net을 배포하고 제 2 팀이 프로젝트에 '서비스 참조'를 추가하는 것이 었습니다. 자동 생성 클래스를 사용하면 서비스 용 클라이언트를 인스턴스화하고 해당 메소드를 호출합니다.

그러나 그들은 WCF 서비스에 의해 구현 된 인터페이스 (계약서)가 포함 된 DLL을 작성해야하며 DLL에 대한 참조를 추가 할 것이라고 주장합니다. 그리고 그들은 통신 할 dll에서이 인터페이스 만 사용합니다.

WCF 서비스를 '사용하는'올바른 방법은 무엇입니까?

P. WCF 서비스를 사용/호스팅하는 방법에 대해 많이 읽었지만 여전히 최상의 접근 방식을 볼 수 있습니다.

P.P.S. 우리는 VS 2008, .NET 3.5에서 일하고 있지만 VS2010과 .NET 4.0에 대한 아이디어도 환영합니다.

답변

1

그래서 팀 2는 프로젝트에 포함 할 수있는 클라이언트 구현을 생성하기를 원합니다. 나에게 게으름처럼 보입니다. 귀사는 귀사의 기업 SOA 전략이 무엇인지 알아 내야 할 것 같습니다. 전략이 없다면 (또는 그것을 얻으려는 희망). 팀 2는 필요할 경우 참조 할 수있는 정면으로 프로젝트를 직접 만들어야합니다.

+0

아니요, 게으름례는 아닙니다. 그들은 서비스를 어셈블리로만 사용하는 정책을 가지고 있습니다 ... 예, 그들은 어셈블리 자체를 만들 수 있습니다. 지금 나를위한 질문 : 그러한 것들을 관리하는 가장 좋은 방법은 무엇입니까. Pratik이 제안한 접근 방식 (wsdl을 사용할 것입니다)은 나에게 좋습니다. 하지만 지금은 어떻게 소비할지 모르겠다. (아직 Google에 필요하다.) – Budda

1

두 번째 팀의 클라이언트 프록시 DLL을 생성하는 것은 간단합니다. Windows SDK의 svcutil 명령 줄 도구를 사용하여 프록시 클래스를 생성 한 다음 msbuild를 사용하여 프록시 DLL을 작성하십시오. 이것은 빌드 프로세스에서 자동화 될 수 있으며 dll은 각 빌드의 알려진 공유 위치로 삭제됩니다.

SOA에있어서 SOA와 관련해서는 모범 사례는 아니지만 WSDL은 인터페이스를 정의해야하며 이것이 바로 제 2 팀에 제공해야한다는 것입니다. 이것은 URL 또는 파일 드롭으로 할 수 있습니다.

+0

그들은 내 wsdl을 어떻게 소비 할 수 있는가? – Budda

+0

.Net 프로젝트이므로 svcutil을 사용하여 클라이언트 프록시 파일을 만들어 프로젝트에 추가해야합니다. 이것은 svcutil을 호출하는 간단한 배치 파일을 사용하여 prebuild 단계로 수행 할 수 있습니다. – softveda