Frage

Ich habe ein Silverlight-Projekt, wo Funktionalität über mehr Silverlight-Bibliotheken aufgrund der Größe und Komplexität der Anwendung getrennt wird. Ich habe Probleme herauszufinden, was der beste Weg ist, um den RIA Domain-Service zu entkoppeln, die von dem Website-Projekt generiert wird. Ich muß in der Lage sein, Daten von den anderen Bibliotheken zugänglich, da sie dynamisch in die Haupt-Silverlight-Anwendung geladen werden, je nach Bedarf.

War es hilfreich?

Lösung

ich am Ende den Code nehmen, die von Visual Studio im Generated_Code Verzeichnis der Hauptsilverlight-Anwendung und Erstellen mehrerer Silverlight-Bibliotheken trennen die Ria Domaincontext, den Authentifizierungsdienst, Organisationen und andere Domain Services, die wir geschrieben hatten generiert wird. Ich extrahiert dann Schnittstellen für den Domaincontext, etc. und steckte sie in ihre eigene Bibliothek. Mit Microsofts Unity-Framework für Silverlight war ich dann in der Lage alle aus dem Hauptprojekt meine Module zu entkoppeln. Alle meine Module verwenden jetzt die Schnittstellen. Es gibt einen IoC-Container in der Hauptanwendung, wo ich alle Klassen registrieren, die die Schnittstellen implementieren und sie gehen in die Seiten eingespritzt, wie sie instanziiert werden. Nicht, dass nach all compliated. Das einzige, was zu erinnern ist, das EnableClientAccess Attribut auf den Domänendienste Klassen in dem Server zu verlassen, aber die ASP.Net-Server-Projekt Verbindung von der Hauptsilverlight-Anwendung entfernen. Ich habe gelesen, dass sie diese leichter in der endgültigen Version von Ria Services / Silverlight 3, da andere Leute über die enge Kopplung von der aktuellen Setup erstellt beschwert haben, machen planen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top