Programing

웹 참조와 서비스 참조의 차이점은 무엇입니까?

crosscheck 2020. 7. 1. 08:09
반응형

웹 참조와 서비스 참조의 차이점은 무엇입니까?


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과 일치하는 경우 (실제로 이것이 기본 동작 임) 데이터 계약을 맵핑 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/308454/difference-between-web-reference-and-service-reference

반응형