web-dev-qa-db-fra.com

Injection de dépendance Autofac dans la fonction Azure

J'essaie d'implémenter DI en utilisant Autofac IOC dans la fonction Azure. J'ai besoin de construire le conteneur, mais je ne sais pas où placer le code pour le construire.

6
Ramkumar Singh

Je pense que pour le moment il faudrait faire quelque chose de laid comme:

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
}
5
Mikhail Shilkov

J'ai écrit une entrée de blog pour l'injection de dépendance avec Autofac dans Azure Functions. Jetez un coup d’œil ici: Injection de dépendance de fonction Azure avec AutoFac: fonctions de fonction automatique

Il suit une approche similaire à celle de Boris Wilhelms . Une autre implémentation basée sur l’approche de Boris est disponible sur github: injection de dépendance autofac

-- mettre à jour ---

Avec Azure Function v2, il est possible de créer des packages de nuget basés sur la norme .net. Consultez Injection de dépendance Azure Functions avec Autofac: package de nuget de fonctions

11
Holger Leichsenring

Tandis qu'Azure Functions ne prend pas en charge l'interface ID immédiatement, il est possible de l'ajouter via la nouvelle API Extension. Vous pouvez inscrire le conteneur à l'aide d'une implémentation IExtensionConfigProvider. Vous trouverez un exemple complet de solution DI dans Azure ici https://blog.wille-zone.de/post/Azure-functions-proper-dependency-injection/ .

4
Boris Wilhelms

Azure Functions ne prend pas encore en charge l'injection de dépendance. Suivez ce numéro pour la demande de fonctionnalité https://github.com/Azure/Azure-Functions/issues/299

2
ahmelsayed

Vous pouvez le faire en utilisant un attribut personnalisé [inject]. Voir exemple ici https://blog.wille-zone.de/post/Azure-functions-proper-dependency-injection/

0
Dasith Wijes