2010-02-23 4 views
5

Ich bin ein wenig neu zu DI-Containern wie StructureMap und ich verwende es für kurze Zeit mit asp.net mvc-Anwendungen. Jetzt teile ich meine Architektur, die eine WCF-Service-Schicht und eine Art von Verbrauchern wie ASP.NET MVC App, Silverlight App und Winfors/WPF App haben wird. Bei der Verwendung von SM mit asp.net mvc habe ich den IOC durch den App-Start des asp.net mvc initialisiert, jetzt, für viele Projekte benutzend, kann ich keinen guten Platz denken, wo die IOC-Konfiguration gefunden werden sollte. Ich möchte DI auch in der Services-Schicht machen (Injection Repositories).SOA-Architektur mit WCF + IOC-Struktur

In diesem Szenario, wo ich meine IOC-Konfiguration laden und wie ich über die Projekte (wie die Controller-Fabrik wird nur in der asp.net mvc App benötigt) verwenden?

+0

Sicher, ich bin offen für andere Ansätze sagte nur, dass ich tiefer in was er sagte, sowieso sehen. Hat jemand einen anderen Vorschlag zu dieser Frage? –

Antwort

2

Sie erstellen und konfigurieren einen Container pro Anwendung.

Wenn Sie über eine ASP.NET MVC-Site verfügen, erstellen und konfigurieren Sie eine Containerinstanz in Global.asax.

In einem WCF-Dienst können Sie eine benutzerdefinierte ServiceHostFactory schreiben, die eine individuelle Spins ServiceHost, die wiederum eine entsprechende IInstanceProvider legt, die eine Container-Instanz den WCF-Dienst verkabeln verwendet. Das klingt kompliziert, und es ist definitiv komplizierter als es sein sollte. Ich habe dieses Thema schon vorher in einem völlig anderen Kontext behandelt, aber this blog post sollte Ihnen einige Hinweise geben - besonders wenn Sie daran denken, dass delegates are anonymous interfaces.

+0

Ich sehe es mir an, über Neuigkeiten, über die ich schreiben werde. Und danke für die Antwort, die dir jetzt auf Twitter folgt =) –

+0

Ich habe gerade eine 11-seitige ausführliche Anleitung dazu für mein kommendes Buch abgeschlossen. Hoffentlich wird es in ein oder zwei Monaten über den MEAP verfügbar sein ... –