2011-07-04 5 views
2

내가 만들고있는 하나의 Silverlight 애플리케이션의 아키텍처와 디자인을 결정해야합니다. 응용 프로그램은 요구 사항/문제 추적 용입니다.
요구 사항 :Silverlight에서 RavenDb 쿼리하기

  • SL 4
  • ASP.NET (MVC)
  • 전체 신뢰 환경을 공유 호스팅, IIS7

내가 좋아하는 것은이합니다 :

  • 분리, 질의 및 명령의 CQS (CQRS) 스타일
  • 1 db, '실제'CQRS와 같은 두 개의 저장소가 필요하지 않습니다. 경쟁 조건이나 확장 문제가 없습니다. RavenDb
  • 을 명령으로 사용할 수 있다면 좋겠지 만 서버 측에서 처리되고 "CQRS"의 NDC11 세션에서 영감을 얻은 클라이언트 측 (SL)에 게시 된 단방향 명령 DTO 객체를 사용할 것입니다. 내가 데이터를 쿼리 DataService의를 통해 entites 노출의 RIA 서비스 스타일을 좋아하지만, 정말
  • 가 어떻게 데이터를 조회하는 RavenDb을 사용할 수 있습니다 EF와 NH (관계형 모델)와 함께 단지 작동 ",
  • 을 사랑 도메인을 CRUDing을 중지? 나는 공유 호스팅에있어, 그래서 임베디드 모드를 사용해야하고, ravendb.exe 프로세스를 시작할 수 없습니다, 그것은 asp.net 애플 리케이션 내부에 호스팅해야합니다. 저는 RavenDb에 대한 경험이 없기 때문에 프로젝트를 배우는 것과 같을 것입니다.
  • WCF를 사용하여 RPC SOAP 끝점을 노출하고 싶지 않은 경우 더 나은 해결책이 있습니까?

그래서 명령 측면에는 문제가 없지만 RavenDb, 공유 호스팅 및 Silverlight 앱에서 데이터를 쿼리하는 데 편리한 REST 스타일을 사용하는 방법을 알 수 없습니다. RavenDb는 그와 같은 것을 지원합니까?

Ayende가 답변 한대로 RavenDb는 asp.net에서 실행되고 Silverlight에서 쿼리 할 수 ​​있습니다. 질문은 지금, 적어도 읽기 측면에서 좋은 접근 방법입니까? Db는 서버 측 로직 (서비스/응용 프로그램 계층)없이 클라이언트 응용 프로그램에 노출되므로 누구나 데이터를 수정할 수 있습니다 (인증 된 경우).

Silverlight에서 명령 (쓰기)을 실행하거나 명령 DTO 개체 (DelegateToOtherMemberCommand)를 서버에 전송하고 거기에서 도메인 개체 (Ticket.AssignTo (구성원))에서 실행합니까?

답변

2

손님, 공유 호스팅과 함께 RavenDB를 사용할 수 있습니다. 앱이 내부 가상 디렉토리로 당신은 일반적으로 설치 RavenDB, 그리고 IIS에서 당신은 설치 그것을 다음과 같이 : http://ravendb.net/documentation/docs-deployment-iis

당신은 다음 SL 클라이언트에 RavenDB 노출 그냥 Raven.Client.Silverlight 어셈블리를 사용할 수 있습니다

+0

그런 다음 domain.com/ravenVirtualFolder와 같은 Ravendb 엔드 포인트에 쿼리합니까? 포트는 어떨까요, 80에서 작동합니까? –

+0

예, 포트 80에서 작동합니다. –