2009-08-11 5 views
2

Ich habe eine Prototyp ASP.NET-MVC-Website, die Ninject als IoC-Container verwendet. Alle Service-Klassen und Repository-Klassen, die von MVC-Controllern verwendet werden, werden von Ninject ordnungsgemäß injiziert. Das ist toll.Integration von ASP.NET-MVC mit Silverlight mit WCF und Ninject als IoC/DI

Das nächste, was ich hinzufügen muss, ist Silverlight (Version 3, um genauer zu sein). Silverlight verbindet sich mit meinem Server über den im ASP-Kompatibilitätsmodus gehosteten WCF-Dienst mit derselben ASP.NET-MVC-Website.

Was Silverlight benötigt, ist eine Art ViewModel mit WCF zu "downloaden"/zu "bekommen" (der bessere Name wäre Client-Side Model). Dies ist auch möglich - ich habe den WCF-Dienst importiert und alle sicherheitsrelevanten xml-Konfigurationsdateien eingerichtet. Hier

ist das, was ich wissen will ....

  1. Ist das OK, dass Modell von WCF-Dienst zurückgegeben ziemlich komplex und beinhaltet Arrays und Vererbung (auf Array-Elementen Ebene) ... Oder gibt es eine andere und bessere Möglichkeit, es von Server zu Client zu senden?

  2. Bei Server-Side für normale asp-mvc-Stuff werden alle von Controllern verwendeten Service-Klassen von Ninject injiziert. Wie injiziert man Dienste für WCF-Service-Klassen?

  3. Kann der WCF-Dienst auf HttpContext.Current.Items zugreifen? Ich muss von hier geloggten Benutzer-ID und ein paar profilbezogene Daten (reguläre Formulare auth. Zeug) greifen.

EDIT

Ad 3. es möglich ist, ermöglicht AspNetCompatibilityRequirements

für Punkt Hat jemand Ideen 2?

Antwort

0

Für die 1. Frage.

  1. Ja, es ist in Ordnung, eine komplexe Struktur zurückzugeben, vorausgesetzt, Sie haben das Attribut '[DataMember]' explizit auf jede benötigte Eigenschaft des Objekts/der Objekte angewendet.
+0

..und [KnownType] -Attribut für untergeordnete Objekte. Was ist mit dem Einfügen von IRepositories in WCF-Serviceklassen? – tomo

Verwandte Themen