2010-12-23 6 views
2

웹 서비스에서 메서드를 오버로드 할 수 있지만 액세스시 두 메서드 (다른 메서드와 동일한 메서드)를 서로 다른 작업으로 분류합니다.웹 서비스 메서드 오버로드

이점은 무엇입니까? 클라이언트 측에서 동일한 메서드를 호출하고 필요한 매개 변수를 기반으로 호출 할 수있는 방법이 있습니까?

+1

void YourFunc (int param1, int param2 = 0) {} – Guillaume86

답변

2

작업 오버로드는 개체 지향 프로그래밍 언어에서 사용할 수있는 개념입니다. 그러나 WebServices는 OO 플랫폼에만 국한되지 않습니다. 이들은 메시지 지향적이며 메시지는 원하는 플랫폼에서 구성/분해 될 수 있습니다. 모든 플랫폼은 연산 과부하를 제공하지 않으며 웹 서비스는 여러 플랫폼에서 통합되기 때문에 웹 서비스가 연산 과부하를 지원하는 것은 불법입니다.

지금 현실은 약간 다릅니다. 개발자들이 그런 일을 한 곳에서 여러 기사를 볼 수 있습니다. 오아시스 스스로 혼란 스러울 지 모르지만 결국 그들은 ruled against operation overloading (3.6 절 참조).

3

웹 서비스는 고유 이름을 가져야합니다. 그러나 .NET은 오버로드 된 메서드에 MessageName 특성을 사용하는 옵션을 제공합니다.

+0

그래서 선택적으로 매개 변수를 사용할 수 있습니다. – Mutant

+0

네, 오버로딩은 객체 지향이지만 웹 서비스는 데이터 교환을위한 계약 일뿐입니다 ... – XtremeBytes

+0

@Mutant : 정규 오버로드 된 메소드를 호출하는 외관 웹 서비스 메소드를 가질 수 있습니다. 왜 그렇게 신경 쓰는지 모르겠습니다. – NotMe

관련 문제