2010-03-12 2 views
23

일반 클래스 라이브러리에는없는 WCF 서비스 라이브러리는 무엇입니까?WCF 서비스 라이브러리 vs 클래스 라이브러리 프로젝트 유형

편집 : 나는 내 자신의 답변을 게시했습니다. 내가 놓친 게 있니? 근본적으로 둘 다 몇 가지 템플릿 클래스가 추가 된 클래스 라이브러리입니까?

+2

@qntmfred : "근본적으로 몇 가지 템플릿 클래스가 추가 된 클래스 라이브러리입니까?"모든 것이 거의 클래스 라이브러리 프로젝트인데 템플릿 클래스와 설정이 추가되었습니다. –

답변

25

둘 다 만들어 비교했습니다. 이것이 내가 찾은 것입니다.

WCF 서비스 라이브러리

  • System.Runtime.SerializationSystem.ServiceModel에 대한 참조를 추가합니다. 클래스 라이브러리와 마찬가지로 System.Data.DataSetExtensions에 대한 참조가 포함되어 있지 않습니다.
  • 샘플 서비스 클래스 IService1, CompositeType하고있는 wsHttpBinding 및
  • 이 프로젝트 속성
  • 에서 디버그 명령 행 옵션으로 /client:"WcfTestClient.exe"을 추가하는 mexHttpBinding 서비스 엔드 포인트와의 app.config Service1
  • 추가하는 WCF Options 탭에서 추가를 포함 프로젝트 속성 이 탭에는 동일한 솔루션에서 다른 프로젝트를 디버깅 할 때 WCF 서비스 호스트를 시작하는 옵션이 포함되어 있습니다.
  • 을 사용하면 프로젝트 속성의 서명 탭에서 Sign the ClickOnce manifests 옵션을 사용할 수 있습니다. 이 옵션은 클래스 라이브러리에서 사용할 수 없습니다.
+0

WCF 서비스 라이브러리가 실제로하는 일을 멋지게 요약합니다. –

5

또한 F5에서 WCF 서비스 호스트 유틸리티를 실행합니다. 귀하가 발견 한 /client 스위치가 WCF 서비스 호스트에 전달되어 어떤 클라이언트를 시작할 것인지 알려줍니다. 이 경우 WCF 테스트 클라이언트를 시작하라는 메시지가 표시됩니다.

이것은 당신에게 꽤 좋은 것을 준다 F5 경험. 서비스에 중단 점을 설정하고 F5을 누르고 테스트 클라이언트를 사용하여 서비스 작업을 호출하면 중단 점에 도달합니다.

+1

@Marc : 나는 너무 많이 서둘 렀다. 편집을 확인하여 내가 무엇을 얻었는지 확인하십시오 (클라이언트가 클라이언트를 시작할 수 있도록/client 스위치가 테스트 호스트로 전달됨) –

+0

쿨 버튼 아이콘. – Benny

+0

@ 베니 : 그저 'F5'입니다. 가끔씩 만 사용하십시오. –

2

클래스 라이브러리를 WCF 호스팅 유형으로 사용하여 VS 2010 프로젝트에서 테스트했지만 wsdl 또는 프록시 클래스를 생성하지 못했습니다.

솔루션/프로젝트 참조에 많은 dll을 추가하고 IIS 서버에 배포하고 2 개의 출력 파일을 만들 때 (Service1.svc) 템플릿을 추가하므로 WCF 프로젝트가 일반 클래스 라이브러리와 다릅니다. svcutil.exe를 사용하십시오. 다음을 수행 최초의 PropertyGroup 요소에서

: 다음 PRODUCTVERSION 요소

0

으로는 here을 설명했다.의 AssemblyName 요소 아래

<ProductVersion>8.0.50727</ProductVersion> 

, 다음과 같은 요소 추가 : 다음과 일치하는 제품 버전을 업데이트 파일의 마지막에

<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

<StartArguments>/client:"WcfTestClient.exe"</StartArguments> 

스크롤 및 가져 오기 요소 아래에 다음과 같은 확장자를 추가 :

<ProjectExtensions> 
    <VisualStudio> 
     <FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}"> 
     <WcfProjectProperties> 
      <AutoStart>True</AutoStart> 
     </WcfProjectProperties> 
     </FlavorProperties> 
    </VisualStudio> 
    </ProjectExtensions> 
관련 문제