Die Startklasse ist nur für die Einrichtung und Registrierung gedacht. Vermeiden Sie die Verwendung von Diensten, die während des Startprozesses beim Start registriert sind. Versuchen Sie beispielsweise nicht, eine Nachricht in einem Logger zu protokollieren, der während des Starts registriert wird. Dieser Punkt des Registrierungsprozesses ist zu früh, damit Ihre Dienste zur Verfügung stehen. Nachdem die Konfigurationsmethode ausgeführt wurde, registriert die Laufzeit der Funktionen weiterhin zusätzliche Abhängigkeiten, die sich auf die Funktionsweise Ihrer Dienste auswirken können. So aktivieren Sie 'microsoft.azure.webjobs.script.diagnostics.hostFileloggerProvider'.
Code: Select all
public override void Configure(IFunctionsHostBuilder builder)
{
var serviceProvider = builder.Services.BuildServiceProvider();
using var scope = serviceProvider.CreateScope();
var context = scope.ServiceProvider.GetRequiredService();
context.Database.Migrate();
}
< /code>
So kann es von ASP.NET CORE ausgeführt werden: < /p>
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
using (var scope = host.Services.CreateScope())
{
var db = scope.ServiceProvider.GetRequiredService();
db.Database.Migrate();
}
host.Run();
}