2009-08-08 7 views

답변

2

말하기 힘들다 - 자체 호스팅의 주된 이유는 아마도 더 많은 통제력을 가지고있을 것입니다. 필요에 따라 시스템을 조정할 수 있습니다.

IIS 호스팅은 편리하고 설치하기 쉽고 서비스의 "주문형"로딩을 제공합니다. 서비스 호스트는 요청이 실제로 들어오는 경우에만로드됩니다.

서비스 호스트의 상수로드 (및 언로드)는 성능을 약간 손상시킬 수 있습니다. 반면에 서비스 호스트를 자체 호스팅하면 더 많은 메모리를 사용하십시오 (ServiceHost가 활성 상태이고 항상 메모리에 있기 때문에).

다시 말해서, 이것은 메모리 대 속도의 트레이드 오프입니다. 셀프 호스팅은 더 많은 RAM을 사용하지만 아마도 조금 더 빠릅니다.

마크

1

일단 서비스가 실행되면 나는 큰 차이를 기대하지 않을 것입니다.

그러나 성능 질문과 마찬가지로 현실적인 부하와 큰 그림을 볼 때 서비스를 테스트하여 유용한 답변을 얻을 수 있습니다. 예 : 하나 더 많은 요청을 처리 할 수 ​​있지만 메모리 비용은 약간 높습니다.

다른 차이점이있을 수 있습니다. 온 디맨드 인스턴스화를 사용하는 IIS 호스팅은 유휴 상태의 첫 번째 요청을 처리하는 데 다소 느려질 것으로 예상됩니다.

+0

물론 IIS에서 호스트하고 권장되는 "통화 별"정품 인증 모델이있는 경우 IIS는 (최악의 경우) ServiceHost 인스턴스를 계속해서 계속 작성합니다. ServiceHost가 올라 오면, 나는 동의한다. 예상 할만한 차이는 없다. –

1

"Dublin"(목적으로 구축 된 WCF 호스팅 환경)이 출시되면이를 사용하는 것이 자연 스럽습니다.

EDIT :이 대답은 원래 스레딩의 차이로 인해 IIS와 자체 호스팅의 잠재적 차이에 관한 내용이었습니다. 그러나, 나는 아래로 코멘트를 참조하십시오.

+0

자체 호스팅 WCF는 IIS에서 호스팅하는 것과 마찬가지로 멀티 스레드입니다. 여기에는 이점이없는 IIS가 없습니다. –