WCF 서비스 응용 프로그램과 WCF 서비스 라이브러리의 차이점은 무엇입니까?


118

WCF 웹 서비스를 개발 중이며이를 위해 WCF 서비스 응용 프로그램 템플릿을 사용했습니다.

"WCF 서비스 응용 프로그램"을 만들면이 요구 사항이 충족됩니까? WCF 서비스 응용 프로그램을 통해 WCF 서비스 라이브러리를 만들면 어떤 이점이 있습니까?

답변:


148

서비스 응용 프로그램에는 이미 설정된 웹 사이트 호스트가 포함되어 있습니다. 서비스 라이브러리는 호스트가 참조하고 시작할 수있는 서비스 라이브러리입니다.

서비스 라이브러리 (권장)로 시작하는 경우 원하는 호스트 (Windows 서비스, IIS / ASP.NET 또는 콘솔 응용 프로그램)를 선택할 수 있으며 새 호스트에서 라이브러리를 참조하면됩니다. 서비스 응용 프로그램을 선택하면 호스트가 IIS / ASP.NET으로 만 제한됩니다 (목적에는 적합 할 수 있지만 사용할 수있는 프로토콜이 제한됨).

편집 : 내가 작성한 이후 IIS의 변경 사항은 ASP.NET 활성화 서비스에서 다양한 프로토콜을 허용하므로 서비스 응용 프로그램을 선택하는 것이 이전보다 훨씬 적습니다.


1
누구든지 IIS에서 호스팅 할 때 사용할 수있는 새로운 프로토콜 / 바인딩에 대한 정보가 있습니까?
Allen Rice

@AndersonImes 나는 이것이 오래된 게시물이라는 것을 알고 있지만 당신이 도울 수 있기를 바랍니다. 어디에서나 찾아 봤는데 WCF 서비스가 .NET 3.5의 웹 서비스를 대체하기위한 것인지 여부를 찾을 수 없으므로 .NET 4에서 템플릿이 제거 된 이유는 무엇입니까? 감사. :)
Chiramisu

2
@Chiramisu WCF 내가이 매우 도움이되었다고합니다 ... 더 많은 장점과 유연성을 제공 : CodeProject의 예를 , 유래 질문
StoriKnow

@Sam 감사합니다 Sam, 매우 도움이되었습니다. 그래서 기본적으로 WCF는 웹 서비스가 할 수있는 모든 것을 할 수 있습니다. 내가 궁금해하는 제한 사항 ... :)
Chiramisu

1
@Chiramisu가 기꺼이 도와줍니다! 항상 제한이 있지만 WCF는 일반적인 웹 서비스보다 제한이 훨씬 적습니다.
StoriKnow

10

당신이 가진 모든 것이 하나의 프로젝트라면 나는 당신이 그것을 위해 분리하는 경우에만 복잡성이 추가되는 것을 볼 수 있습니다. Windows 서비스와 IIS 모두에서 호스팅해야하는 특정 사용 사례가있을 때 라이브러리를 사용했습니다.

IIS의 경우 클래스와 인터페이스를 라이브러리로 이동할 수 있지만 .SVC 파일은 웹 프로젝트에 보관할 수 있습니다. 적절하게 규정 된 클래스를 가리 키도록 .SVC 파일을 편집해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.