성능면에서 차이가 있지만 서비스와 직접 프로젝트 참조가 모두 동등하게 비교 가능한 시스템에서 정확히 동일한 계산을 수행하는 경우 일반적으로 프로젝트 참조는 성능 저하를 줄입니다.
당신은 사과와 사과를 비교하지 않습니다.
프로젝트을 참조하면 Visual Studio에서 참조 된 프로젝트를 컴파일하고 기본 프로젝트에 출력 (대개 .dll)을 포함시킵니다. 즉, 응용 프로그램과 함께 올바르게 컴파일 된 (바이트 코드로) 코드가 있음을 의미합니다. 프로젝트를 참조하는 것은 응용 프로그램 내에있는 약간의 코드에 대한 참조로 끝나기 때문에 a, .dll 또는 com 구성 요소를 직접 참조하는 것과 유사합니다. 발생하는 모든 처리가 코드와 동일한 시스템에서 발생합니다.
서비스에 대한 참조는 Visual Studio에서 서비스 구성 방법에 따라 HTTP, TCP 또는 다른 유효한 메서드를 통해 네트워크를 통해 서비스를 호출하는 프록시 클라이언트 클래스를 생성합니다. 서비스가 귀하의 컴퓨터에있을 수도 있고 전세계 중서부에 살 수도 있습니다. 해당 서비스에서 수행 된 처리가 해당 시스템에서 수행되고 있습니다.
정확히 동일한 계산을 수행하는 경우 프로젝트 참조가 프로젝트 참조보다 성능이 더 우수하다고 말한 이유는 서비스가 계산을 수행하고 네트워크 연결을 설정하고 네트워크를 처리하는 오버 헤드가 있기 때문입니다 트래픽 등.
물론 다른 요인이 성능에 영향을 줄 수 있습니다. 서비스는 성능 문제가있는 구형의 오래된 컴퓨터에서 호스팅 될 수 있습니다.이 경우 서비스 시나리오에서 성능이 더욱 악화 될 수 있습니다.
반면에 프로그램이 느린 PC에서 실행 중이지만 서비스가 과급 된 서버에서 실행 중이면 빠른 서버에서 처리가 수행되고 있다는 사실이 네트워크 트래픽의 성능에 영향을 미칠 수 있습니다.
덧붙여 말하면 서비스 참조 (서비스 참조를 추가 할 때 얻을 수있는 것)는 SOA (서비스 지향 아키텍처)의 교리입니다. 기본 설명, 이점 및 용도는 Wikipedia : http://en.wikipedia.org/wiki/Service-oriented_architecture에서 다룹니다. 그것은 어느 곳에서도 좋은 출발점입니다. 더 자세한 정보가 필요하면 웹 서비스 (SOAP 및 REST 종류 - Visual Studio에서 SOAP 웹 서비스를 멋지게 처리 함)를 살펴보고 SOA 세계에서 Microsoft의 최신 제품인 WCF를 살펴볼 수 있습니다.