WCF에서 웹 참조와 서비스 참조의 차이점은 무엇입니까? WCF에서 어느 것이 바람직한가요?
답변
여기서의 저수준 대답은 웹 참조가 코드가 WSDL을 통해 설명되고 SOAP 또는 HTTP GET을 통해 통신하는 웹 서비스와 통신 할 수있는 클라이언트 프록시 클래스를 작성한다는 것입니다 (다른 포스터는 ASMX 일 뿐이지 만 웹 참조는 또한 모두 WSDL과 통신하고 WS-I 상호 운용성 표준을 준수하는 한 Java 기반 웹 서비스 또는 Python 기반 또는 Ruby와 통신 할 수 있습니다.
서비스 참조는 WCF 서비스가 웹 서비스인지 여부에 관계없이 WCF 기반 서비스와 통신하는 클라이언트 프록시 클래스를 작성합니다.
답변
웹 참조를 사용하면 WS-I 기본 프로파일 1.1을 구현하고 관련 메타 데이터를 WSDL로 노출하는 기술을 기반으로 모든 서비스와 통신 할 수 있습니다. 내부적으로 클라이언트 측에서 ASMX 통신 스택을 사용합니다.
서비스 참조를 사용하면 WCF에서 지원하는 많은 프로토콜 (WS-I 기본 프로파일 포함)을 구현하는 기술을 기반으로 서비스와 통신 할 수 있습니다. 내부적으로 클라이언트 측에서 WCF 통신 스택을 사용합니다.
이 두 정의는 모두 광범위하며 .NET으로 작성되지 않은 서비스도 포함합니다.
WCF 끝 점이 사용 basicHttpBinding
하거나 호환되는 사용자 지정 변형을 사용하는 한 WCF 서비스를 가리키는 웹 참조를 추가하는 것이 가능합니다 (권장하지는 않지만) .
ASMX 서비스를 가리키는 서비스 참조를 추가 할 수도 있습니다. 새 코드를 작성할 때는 항상 유연하고 미래에 대비할 수있는 서비스 참조 를 사용해야합니다 .
답변
서비스 참조는 모든 방식의 WCF 서비스에 대한 참조를 추가하기위한 새로운 인터페이스입니다 (웹 서비스는 아닐 수도 있음). 웹 참조는 특히 ASMX 웹 참조와 관련이 있습니다.
서비스 참조 추가의 고급 옵션을 통해 웹 참조에 액세스 할 수 있습니다 (정확하게 리콜하는 경우).
서비스 참조는 내가 이해할 때 두 가지의 새로운 메커니즘이기 때문에 서비스 참조를 사용합니다.
답변
서비스 참조는 완전히 구성 가능한 엔드 포인트 및 바인딩을 처리합니다. 전송 프로토콜 (HTTP, TCP, 공유 메모리 등)을 통해 클라이언트 프록시가 WCF를 가리 키도록합니다.
WCF와 함께 작동하도록 설계되었습니다.
WebProxy를 사용하는 경우 HTTP를 통한 WCF 사용에 거의 구속력이 있습니다.
답변
고려해야 할 또 다른 요점은 새로운 서비스 인터페이스 UI가 프록시 클래스 작성 방법에 훨씬 더 많은 유연성을 제공한다는 것입니다. 예를 들어, 데이터 계약이 기존 dll과 일치하는 경우 (실제로 이것이 기본 동작 임) 데이터 계약을 맵핑 할 수 있습니다.
답변
