Läs på engelska

Dela via


Stäng av Orleans silor

I den här artikeln förklaras hur du på ett smidigt sätt stänger av en Orleans silo innan appen avslutas. Detta gäller för appar som körs som en konsolapp eller som en containerapp. Olika avslutningssignaler kan leda till att en app stängs av, till exempel Ctrl+C (eller ).SIGTERM I följande avsnitt beskrivs hur du hanterar dessa signaler.

Graciös Silo-avstängning

Följande kod visar hur du korrekt stänger av en Orleans silokonsolapp. Tänk på följande exempelkod:

C#
using Microsoft.Extensions.Hosting;
using Orleans;
using Orleans.Hosting;

await Host.CreateDefaultBuilder(args)
    .UseOrleans(siloBuilder =>
    {
        // Use the siloBuilder instance to configure the Orleans silo.
    })
    .RunConsoleAsync();

Föregående kod förlitar sig på Microsoft.Extensions.Hosting och Microsoft.Orleans. Server NuGet-paket. Tilläggsmetoden RunConsoleAsync utökas IHostBuilder för att hjälpa till att hantera appens livslängd i enlighet med detta, lyssna efter signaler för processavslut och stänga av silon på ett smidigt sätt.

Internt RunConsoleAsync anropar UseConsoleLifetime metoden som säkerställer att appen stängs av korrekt. Mer information om värdavstängning finns i .NET Generic Host: Host shutdown (Allmän värd för .NET: Avstängning av värd).

Se även