10

현재 Silverlight 3 데이터 기반 응용 프로그램을 만드는 중입니다. 데이터베이스에 액세스하기 위해 RIA Services와 ADO.NET Data Services의 두 가지 접근 방식이 사용됩니다. 누구가 각 접근법을 언제/왜 선택해야하는지에 대한 지침이 있습니까? 여기 내 연구/경험에서 수집 한 것들이 있습니다. 이견있는 사람?RIA Services와 ADO.NET Data Services

ADO.NET은 엄격한 데이터베이스 호출에만 유용합니다. Silverlight 3의 도메인 제한을 무시하고 다른 응용 프로그램에 데이터 서비스를 노출해야하는 경우 좋은 방법입니다. 또한 URL/쿼리 구문이 응용 프로그램에서 유용 할 수 있다면 또 다른 이점이 있습니다.

RIA Services는보다 유연하고 받아 들일 수있는 프레임 워크 인 것처럼 보입니다. 그것은 당신에게 엄격하게 데이터베이스 액세스 이상의 것을 제공하는 것 같습니다. 서비스를 통해 노출되지 않으므로 Silverlight/웹 응용 프로그램에만 사용되는 제한이 있습니다.

생각하십니까? 아이디어? 코멘트?

답변

10

전선을 통해 ADO.NET 데이터 서비스와 RIA 서비스는 매우 유사합니다 (이들은 모두 REST 기반입니다).

그러나 ADO.NET 데이터 서비스와 다른 모든 REST 서비스를 사용하면 Visual Studio에서 API를 쉽게 볼 수 없습니다. 예 : 데이터베이스 호출이 사용 가능하고 리턴 된 데이터가 강하게 입력되지 않았는지 알지 못합니다. 그것은 매우 상호 운용 가능한 데이터 시스템을 만들지 만 함께 일하는 것이 고통 스러울 수 있습니다.

RIA 서비스를 사용하면 RIA 프로젝트가 실버 프로젝트 용으로 직접 참조되기 때문에 Visual Studio에서 어떤 방법을 사용할 수 있고 모든 것이 강력하게 입력되는지 알 수 있으므로 두 가지 장점이 있습니다. 다른 모든 앱은이 서비스 (dataservice.axd)를 사용할 수 있지만 API를 사용할 수 없습니다.

편집 : 수정 : ADO.NET 데이터 서비스는 내가 실버 라이트 2와 ADO.NET 데이터 서비스 시스템의 프로토 타입을했다 http://msdn.microsoft.com/en-us/library/cc716656.aspx

+0

좋은 정보. Stack Overflow (명성 만 11)에 너무 익숙해 답변을 투표 할 수 있기 때문에 "가상"투표를해야합니다. –

+2

저는 데이터 서비스와 관련하여 "Visual Studio에서 API를 쉽게 볼 수 없습니다"라고 잘못 생각합니다. ADO.NET Data Services는 WCF/RIA 솔루션처럼 Visual Studio로 가져올 수 있으므로 코드에서 강력한 형식의 메서드/클래스를 통해 API를 볼 수 있습니다. –

+0

전반적으로 좋은 스레드지만, 로버트에 동의합니다 - ADO.NET 데이터 서비스는 매우 쉽습니다. –

0

(잘못된 정보 죄송합니다) 메타 데이터를 생성하지 나는 현재 앞으로 갈거야 Silverlight 3 및 LIA 응용 프로그램에 대한 RIA 서비스를 사용하는 MVVM 구현

RIA에는 Silverlight 용 WCF를 사용하여 사용자가 직접 만들지 못하게하는 보안 모델이 있습니다. ASP.NET 보안 공급자 모델을 기반으로합니다. 그것은 당신이 쉽게 자신의 고객 유효성 검사기를 삽입 할 수있는 흥미롭고 강력한 검증 모델을 가지고 있습니다.

RIA 서비스의 주요 문제점은 최종 형태가 아닌 매우 새롭고 간단한 사례가 아닌 거의 모든 문서가 있다는 것입니다. 베타 버전은 11 월에 PDC에서, EF 4.0, C# 4.0 및 VS2010에서는 RTM으로 예정되어 있습니다.

이 작업을 초기에 수행하면 릴리스가 변경되면서 상당한 리팩토링을 기대할 수 있으며 작은 변경 사항은 쉽게 찾아 볼 수 없습니다.

현재 EF 및 RIA의 버그를 해결하고 있으며 RIA가 안정 될 때까지 데이터 서비스를 사용해야 할 수도 있습니다.

데이터 서비스와 RIA 모두 강력한 입력이 있습니다. Intellisense는 둘 다 작동합니다. Resharper는 RIA를 아직 지원하지 않지만 5.0 릴리스에서 예상됩니다.

3

이것은 매우 오래된 질문이지만 독자들에게는 답을 추가하고 싶습니다.

Ria 서비스는 ADO.net 데이터 서비스의 최상위 계층입니다. 리아 서비스는 ADO를 사용합니다.Net을 기본 프레임 워크로 사용하고 UI 라이브러리를 쉽게 사용할 수있는 레이어를 추가합니다.

RIA 서비스를 사용할 때와 ADO.Net 데이터 서비스를 사용할 때 질문 할 수 있습니다.