Antwort

5

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 
} 
+0

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 –

1

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