Ich versuche, DI mit Autofac IOC in Azure-Funktion zu implementieren. Ich muss den Container erstellen, aber nicht sicher, wo der Code zum Erstellen des Containers platziert werden sollAutofac Dependency Injection in Azure-Funktion
Antwort
ich jetzt denken, Sie würden wie etwas hässlich tun müssen:
public static string MyAwesomeFunction(string message)
{
if (MyService == null)
{
var instantiator = Initialize();
MyService = instantiator.Resolve<IService>();
}
return MyService.Hello(message);
}
private static IService MyService = null;
private static IContainer Initialize()
{
// Do your IoC magic here
}
Azure-Funktionen unterstützt noch keine Abhängigkeitsinjektion. Folgen Sie diese Frage für die Feature-Anfrage https://github.com/Azure/Azure-Functions/issues/299
Während Azure Funktionen nicht DI Unterstützung aus der Box ist es möglich, hinzufügen dies über die neue Extension API. Sie können den Container mithilfe einer IExtensionConfigProvider-Implementierung registrieren. Hier finden Sie eine vollständige Beispiel-DI-Lösung in Azure https://blog.wille-zone.de/post/azure-functions-proper-dependency-injection/.
Sie können dies mit einem benutzerdefinierten Attribut [inject] tun. Siehe Beispiel hier https://blog.wille-zone.de/post/azure-functions-proper-dependency-injection/
Ich habe einen Blog-Eintrag geschrieben, um Abhängigkeitsinjektion mit Autofac in Azure-Funktionen zu machen. Schau mal hier: Azure Function Dependency Injection with AutoFac: Autofac on Functions
Es folgt ein ähnlicher Ansatz wie der oben beschriebene von Boris Wilhelms. Eigentlich gibt es einen anderen Ansatz, der auf Boris Wilhelms Code basiert. Sie können es auf GitHub finden: An Autofac based implementation of Dependency Injection based on Boris Wilhelms Azure Function Dependency Injection Project
- 1. So verwenden Sie Autofac Dependency Injection in MassTransit IConsume
- 2. #botframework dependency injection
- 3. Querschneideschicht | Automapper | Dependency Injection
- 4. Der angeforderte Dienst wurde nicht registriert! Autofac Dependency Injection
- 5. Dependency Injection
- 6. Dependency-Injection
- 7. Dependency Injection in C++
- 8. Dependency Injection in XPCOM
- 9. Dependency Injection in Java
- 10. Captive Dependency mit Autofac
- 11. Frühling Dependency Injection Szenario
- 12. Pimcore und Dependency Injection
- 13. Laravel Dependency Injection/IOC
- 14. Dependency Injection und JavaFX
- 15. .net-core Dependency Injection
- 16. Dependency Injection mit WebAPI
- 17. Dependency Injection - Layered Application
- 18. PHP PDO Dependency Injection
- 19. Dependency Injection und ModelStateWrapper
- 20. Dependency Injection mit node.js
- 21. Dependency Injection für Interface
- 22. Dependency Injection mit TypeConverters
- 23. Lazy Dependency Injection
- 24. ASP.NET MVC - Dependency Injection
- 25. Singleton vs Dependency Injection
- 26. Angular2 - asynchrone Dependency Injection
- 27. Dependency Injection Bewährte Methoden
- 28. Inheritance dependency injection simplification
- 29. Dependency Injection und Scope?
- 30. Dependency Injection Startleistung
Dies ist die gleiche (wenn auch schmutziges Gefühl) Technik, die ich gerade benutze. Ich bin mir nicht sicher, ob es noch eine andere Option gibt, bis Functions einen Erweiterungspunkt zum Eingeben eigener Werte bereitstellt –