2011-01-09 5 views
0

Seit Tagen lese ich und forsche und kämpfe immer noch, wie man die perfekte Infrastruktur schafft. Da es keine Prism 4.0-Vorlagen als solche gibt, habe ich eine Strategie entwickelt, aber ich muss sicher sein, dass dies die richtige Strategie ist, und ich würde einen Rat von erfahrenen PRISM/RIA-Entwicklern schätzen.Silverlight/Prism/RIA: Wie erstelle ich die optimale Infrastruktur?

verwende ich PRISM 4.0, RIA Services 1.0 SP1 Beta, Silverlight 4.0, Entity Framework 4,0

1) Client-Seite

Ich habe zuerst ein "Silverlight Business Application", die eine schafft Web.host und eine Silverlight-Client-Anwendung mit implementierter RIA-Berechtigung. Die anfänglich erstellte Silverlight-Clientanwendung muss als Shell-Projekt verwendet werden.

2) Infrastruktur-Projekt (Common)

Dieses Projekt einige gemeinsame Prism MEF enthalten würde Attribute und vielleicht auch die Einheit Modelle, die durch die automatische RIA sowie die Service-Schnittstelle erzeugt werden. Die Idee ist, eine einfache Silverlight-Klassenbibliothek zu erstellen, und unter Eigenschaften des Projekts würde ich für das Dropdown-Menü "WCF Ria Services Link" auf das host.Web-Projekt verweisen, das die Ria-Services enthält. Dann, nach dem Wiederaufbau, ich bin in der Lage, die Einheit Modell innerhalb der Klassenbibliothek zu sehen und diese dann zwischen den Prismen Modulen gemeinsam genutzt werden könnten, um ihre Viewmodel zu füttern usw.

3) Service-Schicht

Soll ich das EF4-Modell im Web.host-Projekt und füge den Domain Service dort hinzu? Dann würde ich eine Schnittstelle aus dem Domain Service extrahieren und die Schnittstelle in das Infrastruktur (Common) Projekt einfügen. Das Web.Host muss daher auf das Infrastruktur (allgemeine) Projekt verweisen, um auf die Schnittstelle zugreifen zu können. Auf der Clientseite kann die Schnittstelle von MEF verwendet werden, um den Dienst abzurufen oder nachzuahmen. Allerdings mache ich mir Sorgen, dass der Dienst auf ein gemeinsames Projekt verweist, das auch die clientseitig generierten Entitäten enthält.

4) Authorization

auch ein bisschen besorgt über die Genehmigung, so werde ich alles auf dem Shell-Projekt verlassen? Oder muss ich etwas in das Infrastrukturprojekt verschieben, um es zu teilen?

Da dies mein erstes Mal mit PRISM Design ist, habe ich vielleicht einige Aspekte falsch verstanden oder vergessen. Bitte zögern Sie nicht, meine Vorschläge zu verbessern.

Ihre Hilfe sehr

geschätzt

Kave

Antwort

0

Es schön Schnellstart-Vorlagen für Prism ist , Ich fand es bei Blog http://blogs.msdn.com/b/dphill so sieht es ganz nett aus, ich benutzte es auch RIA Service-Bibliothek erstellt, so dass jetzt alles getrennt ist:

1) WEB Projekt 2) Ria-Service im Web 3) generiert RiaService-Client-Code als separate und freigegebene Assembly und es wird von Modulen verwendet. das ist es.

+0

Danke Kumpel. Ja, ich habe den obigen Link bereits veröffentlicht. ;) Es ist in der Tat eine gute Ressource. – Houman