2008-12-29 5 views
12

Kann die WCF-Laufzeit einen Dienst über einen IoC-Container anstatt über seinen üblichen Prozess instanziiert werden? (Auch bei einem möglichen Konflikt zwischen der Lifestyle-Konfiguration des Containers für den Typ und dem InstanceContextBehavior des Dienstes wäre dieser Ansatz eine schreckliche Idee?)WCF-Dienst Instanziierung über IoC Container

Ich bin mir bewusst, dass ich die falsche Frage insgesamt stellen könnte. Mein Ziel ist ein AOP-Ansatz über Methodenabfangfunktionen, die vom Container bereitgestellt werden (z. B. Methodeneingabe/-ausgangsprotokollierung, Leistungszählung und Anrufdrosselung, die alle Logik und Abhängigkeiten enthalten, die ich nicht in meine Dienstimplementierung einfügen möchte). Ich kann mir vorstellen, dass WCF andere Möglichkeiten bietet, sich diesem Problem zu nähern. Daher wäre ich auch neugierig auf andere empfohlene Ansätze.

Antwort

3

Ja, here Implementierungen unter Verwendung von sowohl ObjectBuilder und Spring.NET (und mehr, wenn Sie den Links folgen!):

http://www.infoq.com/news/2008/01/wcf-di

allerdings nicht auf Lebensstil und Instanz-Kontext Verhalten Interaktion kommentieren.

Für weitere WCF-spezifische Ansätze kann das Konzept der WCF-Verhaltensweisen (wie im obigen Beispiel) nützlich sein. Es gibt verschiedene Arten, heren Ausgangspunkt:

http://mehranikoo.net/CS/archive/2007/02/22/WCFBehaviours.aspx

Cheers,
Matt

+0

Sie wissen nicht, wie gut Federstütze ist, aber Sie wollen nicht ObjectBuilder verwenden, wenn Sie wirklich guten Grund haben. Andere Werkzeuge sind einfach viel leistungsfähiger. –

+0

Die zweite Verbindung ist schlecht geworden. –

8

Kurze Antwort - ja kann es.

Bitte nehmen Sie sich einen Blick auf Schloss WCF intergration. Sie können Castle Windsor für WCF verwenden, was Ihnen viel mehr Möglichkeiten bietet, als nur Abhängigkeiten zu injizieren. Verwenden Sie am besten die Stammversion found here. Es gibt nicht viel Dokumentation, aber schauen Sie sich Tests an. Sie sind einfach zu folgen und werden ein guter Beispielcode für Sie sein. WCF-Einrichtung lassen Sie genau jene Arten von thinkgs machen, nach denen Sie fragen.

+0

Link ist kaputt. –

Verwandte Themen