2012-03-29 7 views
3

Wie verwende ich StructureMap mit OpenRasta? Kann ich es anstelle des internen Abhängigkeits-Resolvers verwenden oder ist es nur möglich, es in Verbindung mit der integrierten DI zu verwenden (d. H. Für die Abhängigkeiten meiner eigenen App)?Verwendung von StructureMap mit OpenRasta

Dank

+0

Ich stelle diese Frage, weil ich nichts im Web finden kann, entweder auf SO oder in der OR-Dokumentation mit Anweisungen oder Beispielcode. Hilfe ist willkommen! –

Antwort

2

Structure map code is here

darauf verweisen bauen dann die Bibliothek. Oder du könntest es submodulieren.

Dann

public class DependencyResolver : IDependencyResolverAccessor 
{ 
    public IDependencyResolver Resolver 
    { 
     get { return new StructureMapDependencyResolver(ConfigureContainer()); } 
    } 


    public static IContainer ConfigureContainer() 
    { 
     var container = new Container(); 
     container.Configure(c => c.Scan(s => 
     { 
      //normal SM registrations 
     })); 

     return container; 
    } 
} 

Hoffnung den folgenden Code in Ihr openrasta Projekt hinzuzufügen

P. S Strukturkarte wird nicht offiziell unterstützt hilft, sind Sie wahrscheinlich mit Schloß/Ninject besser dran.

+0

Dies ist hilfreich. Vielen Dank! Ich habe immer noch Probleme - einige Abhängigkeiten haben aus irgendeinem Grund Fehler aufzulösen ("Konstruktor ignorieren, folgende Abhängigkeiten hatten keine Registrierung: OpenRasta.OperationModel.Interceptors.IOperationInterceptor []"). Dies geschieht auch mit einer meiner eigenen Abhängigkeiten, die explizit bei SM registriert ist. Ich werde damit weitermachen ... das ist wahrscheinlich eine andere Frage. –

+0

Übrigens habe ich eine andere Syntax für die Konfiguration von StructureMap verwendet. Statt dessen, was Sie oben haben, verwende ich die 'container.Configure (c => c.For <...> (...). Verwenden Sie (x => ...))' -Syntax. –

Verwandte Themen