Wie machst du dependency injection mit AutoFac und OWIN?
Dies ist für MVC5 und die neue pipeline. Ich kann nicht finden, ein gutes Beispiel überall.
public static void ConfigureIoc(IAppBuilder app)
{
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(WebApiApplication).Assembly);
builder.RegisterApiControllers(typeof(WebApiApplication).Assembly);
builder.RegisterType<SecurityService().AsImplementedInterfaces().InstancePerApiRequest().InstancePerHttpRequest();
var container = builder.Build();
app.UseAutofacContainer(container);
}
Den oben genannten code nicht injizieren. Das funktionierte gut, bevor Sie versuchen, wechseln Sie zu OWIN-pipeline. Kann einfach nicht finden alle Informationen auf DI mit OWIN.
Und die Frage ist? Btw, warum tun Sie sich registrieren "SecurityService" nachdem der container ist gebaut worden?
bearbeitet Probe zu bewegen-Security-service vor. Dies war nur ein Beispiel. Ich bin versucht, herauszufinden, ob AutoFac ist die Unterstützung der OWIN-pipeline noch nicht.
Es ist ein Autofac OWIN-Paket, verfügbar ab Februar 2014. nuget.org/packages/Autofac.Owin zum Zeitpunkt des Schreibens ist es immer noch in einer Vorabversion, so vergessen Sie nicht, ändern Sie die dropdown-wenn Sie es nicht finden können in den VS-UI.
bearbeitet Probe zu bewegen-Security-service vor. Dies war nur ein Beispiel. Ich bin versucht, herauszufinden, ob AutoFac ist die Unterstützung der OWIN-pipeline noch nicht.
Es ist ein Autofac OWIN-Paket, verfügbar ab Februar 2014. nuget.org/packages/Autofac.Owin zum Zeitpunkt des Schreibens ist es immer noch in einer Vorabversion, so vergessen Sie nicht, ändern Sie die dropdown-wenn Sie es nicht finden können in den VS-UI.
InformationsquelleAutor Shane | 2013-11-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update: gibt Es eine offizielle Autofac OWIN nuget-Paket und eine Seite mit einigen docs.
Original:
Es ist ein Projekt, das löst das problem des IoC und OWIN integration genannt DotNetDoodle.Owin.Abhängigkeiten verfügbar durch NuGet. Im Grunde
Owin.Dependencies
ist ein IoC-container adapter in OWIN-pipeline.Beispiel startup-code sieht wie folgt aus:
Wo
RandomTextMiddleware
ist die Realisierung derOwinMiddleware
- Klasse aus Microsoft.Owin.Beispielcode von
RandomTextMiddleware
aussieht:Für mehr Informationen werfen Sie einen Blick auf die original-Artikel.
ist es nur für die Stichprobe zeigt, dass Sie gehen können, durch die pipeline und Holen Sie sich Ihre Abhängigkeiten überall. So können Sie einfach weglassen.
Also sagen Sie einfach weglassen .Verwenden Sie die line und es sollte funktionieren? app.UseAutofacContainer(container) .Verwenden Sie<RandomTextMiddleware>() .UseWebApiWithContainer(config);
ja, drop
Use<RandomTextMiddleware>()
von dort. Registrieren Sie, was Sie wollen innerhalb Ihrer pipeline.was ist
RegisterOwinApplicationContainer
?InformationsquelleAutor Alexandr Nikitin