Ich habe eine .NET 8.0 -Konsolenanwendung, die .NET Generic Host (Microsoft.Extensions.Hosting 8.0.0 Nuget -Paket) verwendet. Wenn ich meine Bewerbung mit Strg+C dispose () schließe, wird mein Dienst nicht aufgerufen. Ich habe zwei Problemumgehungen dafür gefunden (über Ihostapplicationlifetime und über Host.dispon ()). Warum iShost nicht alle registrierten ihostedService -Instanzen beim Herunterfahren des Hosts entsorgen?
Mein Beispielcode: < /p>
Ich habe eine .NET 8.0 -Konsolenanwendung, die .NET Generic Host (Microsoft.Extensions.Hosting 8.0.0 Nuget -Paket) verwendet. Wenn ich meine Bewerbung mit Strg+C dispose () schließe, wird mein Dienst nicht aufgerufen. Ich habe zwei Problemumgehungen dafür gefunden (über Ihostapplicationlifetime und über Host.dispon ()). Warum iShost nicht alle registrierten ihostedService -Instanzen beim Herunterfahren des Hosts entsorgen? Mein Beispielcode: < /p> [code]using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System;
namespace IHostCtrlC;
internal class Program { static void Main() { var hostBuilder = Host.CreateDefaultBuilder().ConfigureServices(services => { services.AddSingleton(); }); var host = hostBuilder.Build(); host.Start();
//workaround via IHostApplicationLifetime var hostApplicationLifetime = host.Services.GetRequiredService(); var service1 = host.Services.GetRequiredService(); hostApplicationLifetime.ApplicationStopping.Register(OnShutdown, service1); //end of workaround via IHostApplicationLifetime
internal class Service1 : IService1 { public string GetText() => "Text from Service1"; public void Dispose() => Console.WriteLine("Service1.Dispose()"); } [/code]
Ich muss eine Aktion (d. H. E., Log -Erfolgsabschaltung) ausführen, wenn alle registrierten Dienste in .NET Generic Host entsorgt werden. Ich hoffe using Microsoft.Extensions.DependencyInjection;...
Ich habe ArrayList, die 4 Elemente enthält. Jedes Element ist von Typliste . Ich versuche, das erste Element von ArrayList mit dem folgenden Code zu erhalten. Es führt jedoch Fehler
Für .NET Generic Host Es ist möglich, mehrere Implementierungen derselben Serviceschnittstelle zu registrieren. Bei der Materialisierung dieses Dienstes wird der letzte hinzugefügte hinzugefügt (das...
In ASP.NET Core können Sie neue Middleware in der Anforderungsverarbeitungspipeline während der Methode für die Konfiguration der Startklasse, die Sie für Ihren Webhost Builder verwenden, unter...