2009-12-08 4 views
1

WCF 또는 ADO.NET DS에서 일반 메서드를 사용할 수 있습니까?WCF 또는 ADO.NET 데이터 서비스와 같은 WebService에서 일반 메서드 사용

또는 WCF 또는 ADO.NET DS를 사용하여 일반 WebService 리포지토리를 만들 수 있습니까?

+0

.net 기능에서와 같이 모든 일을하거나 제네릭을하는 것처럼 일반적인 것을 의미합니까? – RichardOD

+0

저는 고객과 제품이 다른 엔티티를 보유하고 있습니다. Customer.GetList(), Product.GetList()와 같은 것을 사용하고 싶지 않습니다. 하지만 GetList () 또는 GetList ()) 제네릭을 사용하여 중복 코드를 방지하고 싶습니다. – Rookian

답변

2

답변은 "mu"입니다.

잘못 생각한 것 같습니다.

WCF 또는 일반적으로 웹 서비스는 노출 방법이 아닙니다. 데이터 또는 메시지 계약을 노출하는 것입니다.

클래스 인터페이스가 아니라 교환 된 메시지를 디자인하여 서비스를 디자인하십시오. 당신이 XML 도구를 가지고 있고, XSD를 말할 경우

  1. , 당신은 입력 및 출력 메시지에 대한 XML 스키마를 설계 할 수 있습니다 :


    는 메시지를 설계에 대해 이동하는 방법은 여러 가지가 있습니다. 그런 다음이를 WSDL에 포함하고 use svcutil to generate the WCF stub or proxy.

  2. XML이 어떻게 보이는지에 대한 좋은 비전이 있다면 그냥 샘플 입력 + 출력 메시지를 만든 다음 the XSD.exe tool in the .NET SDK 같은 것을 사용하여 메시지에서 XSD를 "파생"하거나 유추 할 수 있습니다. 추론 된 XSD가 항상 원하는 것만은 아닙니다. 단일 메시지에서 시작하면 일반적으로 충분하지 않습니다. 그러나 그것은 당신을 시작하게 만듭니다. XSD가 있으면 1 단계로 갈 수 있습니다. 실제로 1 단계와 2 단계는 반복 될 수 있습니다.

  3. 데이터 계약 클래스 using the DataContract attribute을 디자인하십시오.

  4. 같은 것, using the MessageContract attribute.

  5. 은 WSCF와 같은 도구를 사용하십시오.

는 접근 방식을 설명하고 위의 옵션에 대한 자세한 내용으로 이동 other articles on the blogs on MSDN있다.

+0

"메시지 디자인"에 대한 약간의 예를 들려 줄 수 있습니까? – Rookian

+0

가 답변에 추가되었습니다. – Cheeso

+0

맞으면 고객 목록 또는 제품 목록을 포함 할 수있는 메시지를 디자인해야합니다. 따라서 모든 종류의 목록에 맞는 메시지가 설계되어야합니다 (내 바보 같은 예제에서), 맞습니까? 그래서 배경은 중복 코드를 피하기 위해 일종의 일반적인 저장소를 사용하고 싶습니다. – Rookian

관련 문제