문제

ADO.Net 데이터 서비스에 대해 약간 혼란스럽습니다.

RESTful 웹 서비스를 만들기 위한 것인가요?WCF가 SOAP 세계에서 시작되었다는 것을 알고 있지만 이제는 REST를 훌륭하게 지원한다고 들었습니다.리소스 지향 관점에서 모든 것을 볼 수 없는 경우 RPC 모델에서 작동하도록 할 수 있는 ADO.Net 데이터 서비스도 마찬가지입니다.

적어도 최근에 본 데모를 보면 ADO.Net Data Services가 서버의 WCF 스택에 구축된 것처럼 보입니다.내가 틀렸다면 정정해주세요.

REST와 SOAP에 대한 논쟁을 시작할 생각은 없지만 상황이 더 이상 명확하지 않은 것 같습니다.

어디에 무엇을 사용할지에 대한 제안이나 지침이 있나요?

도움이 되었습니까?

해결책

내 생각에 ADO.Net 데이터 서비스는 도메인 모델과 밀접하게 일치하는 편안한 서비스를 만들기 위한 것입니다. 즉, DTO 등의 형태를 말하는 것이 아니라 모델 자체가 게시됩니다.

RPC 스타일 서비스에 사용하는 것은 적합하지 않은 것처럼 보이지만 불행하게도 필터링된 카운트 수행 등의 매우 기본적인 기능도 있습니다.사용할 수 없습니다. 이는 종종 고객의 요구 사항을 충족하기 위해 일부 RPC를 사용하게 된다는 것을 의미합니다.페이지 그리드 등을 표시할 수 있습니다.

WCF 3.5 pre-SP1은 상당히 약한 RESTful 플랫폼이었습니다. SP1을 사용하면 Uri 템플릿과 ATOMPub 지원이 모두 향상되어 더 많은 기능을 사용할 수 있게 되었지만 JSON 지원을 위한 우아한 솔루션은 실제로 제공하지 않습니다. , XML, ATOM 또는 CSV와 같은 페이로드와 같은 좀 더 난해한 것을 동시에 처리할 수 있으며, URL 재작성과 다른 확장명, 메소드 이름 제거 등을 사용할 필요가 없습니다.- 요청 헤더를 기반으로 직렬 변환기/직렬 변환기를 선택하는 것보다 좋습니다.

WCF를 사용하면 보다 자연스럽고 편안한 환경에서 작동하는 서비스를 만드는 것이 여전히 어렵습니다.리소스에 URL이 포함되어 있고 이를 탐색하여 상태를 전환할 수 있습니다. 약간 투박합니다. 하지만 ADO.Net 데이터 서비스는 AtomPub 지원을 통해 이 작업을 꽤 잘 수행합니다.

내 권장 사항은 자연스럽게 서비스와 강력한 서비스 경계가 적용되는 웹 서비스를 사용하는 것입니다. URL 쿼리의 구성성을 통해 비용을 절약할 수 있는 풍부한 웹 스타일 클라이언트(웹 사이트, ajax, silverlight)에 ADO.Net 데이터 서비스를 사용하는 것입니다. 배관이 많고 도메인 모델이 매우 기본적입니다.정보에 대한 완전한 제어가 필요한 경우 자체 REST 레이어를 롤링합니다(아마도 MVC 프레임워크를 시작점으로 사용).다른 개발자가 소셜 플랫폼 등에서 사용할 수 있도록 API를 게시하는 경우

내 2ø 가치!

다른 팁

WCF의 나머지 바인딩을 사용하는 것은 데이터베이스와 전혀 상호 작용하지 않는 코드로 작업할 때 매우 유효합니다.HTTP 동사가 항상 데이터 공급자와 반대되는 것은 아닙니다.

실제로 페이지와 같은 기능을 얻기 위해 필터링하고 건너뛰는 옵션이 있습니다.

여기를 보아라:

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top