Azure Service Fabric-Bibliotheken für .NETAzure Service Fabric libraries for .NET

ÜbersichtOverview

Azure Service Fabric ist eine Plattform für verteilte Systeme, die das Packen, Bereitstellen und Verwalten skalierbarer und zuverlässiger Microservices und Container vereinfacht.Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices and containers. Weitere Informationen finden Sie in der Dokumentation zu Azure Service Fabric.For more information, see the Azure Service Fabric Documentation.

ClientbibliothekClient library

Verwenden Sie für die Interaktion mit einem vorhandenen Service Fabric-Cluster die Service Fabric-Clientbibliothek.Use the Service Fabric client library to interact with an existing Service Fabric cluster. Die Bibliothek enthält drei Kategorien von APIs:The library contains three categories of APIs:

  • Client-APIs werden zum Verwalten, Skalieren und Wiederverwenden des Clusters sowie zum Bereitstellen von Anwendungspaketen verwendet.Client APIs are used to manage, scale, and recycle the cluster, as well as deploy application packages.
  • Runtime-APIs werden für die Interaktion der ausgeführten Anwendung mit ihrem Hostcluster verwendet.Runtime APIs are used for the running application to interact with its hosting cluster.
  • Allgemeine APIs enthalten Typen, die sowohl in Client- als auch in Runtime-APIs verwendet werden.Common APIs contain types used in both client and runtime APIs.

Installieren Sie das NuGet-Paket direkt über die Paket-Manager-Konsole in Visual Studio oder mit der .NET Core CLI.Install the NuGet package directly from the Visual Studio Package Manager console or with the .NET Core CLI.

Visual Studio-Paket-ManagerVisual Studio Package Manager

Install-Package Microsoft.ServiceFabric
dotnet add package Microsoft.ServiceFabric

CodebeispieleCode Examples

Im folgenden Beispiel wird mithilfe der Client-APIs von Service Fabric ein Anwendungspaket in den Imagespeicher kopiert, der Anwendungstyp bereitgestellt und eine Instanz der Anwendung erstellt.The following example uses the Service Fabric client APIs to copy an application package to the image store, provisions the application type, and create an application instance.

/* Include these dependencies
using System.Fabric;
using System.Fabric.Description;
*/

// Connect to the cluster.
FabricClient fabricClient = new FabricClient(clusterConnection);

// Copy the application package to a location in the image store
fabricClient.ApplicationManager.CopyApplicationPackage(imageStoreConnectionString, packagePath, packagePathInImageStore);

// Provision the application.
fabricClient.ApplicationManager.ProvisionApplicationAsync(packagePathInImageStore).Wait();

//  Create the application instance.
ApplicationDescription appDesc = new ApplicationDescription(new Uri(appName), appType, appVersion);
fabricClient.ApplicationManager.CreateApplicationAsync(appDesc).Wait();

In diesem Beispiel werden die Runtime-APIs und die allgemeinen APIs von Service Fabric in einer gehosteten Anwendung verwendet, um zur Laufzeit eine Reliable Collection zu aktualisieren.This example uses the Service Fabric runtime and common APIs from within a hosted application to update a Reliable Collection at runtime.

using System.Fabric;
using Microsoft.ServiceFabric.Data.Collections;
using Microsoft.ServiceFabric.Services.Communication.Runtime;
using Microsoft.ServiceFabric.Services.Runtime;

/// <summary>
/// This is the main entry point for your service replica.
/// This method executes when this replica of your service becomes primary and has write status.
/// </summary>
/// <param name="cancellationToken">Canceled when Service Fabric needs to shut down this service replica.</param>
protected override async Task RunAsync(CancellationToken cancellationToken)
{
    var myDictionary = await this.StateManager.GetOrAddAsync<IReliableDictionary<string, long>>("myDictionary");
    while (true)
    {
        cancellationToken.ThrowIfCancellationRequested();
        using (var tx = this.StateManager.CreateTransaction())
        {
            var result = await myDictionary.TryGetValueAsync(tx, "Counter");
            await myDictionary.AddOrUpdateAsync(tx, "Counter", 0, (key, value) => ++value);

            // If an exception is thrown before calling CommitAsync, the transaction aborts, all changes are
            // discarded, and nothing is saved to the secondary replicas.
            await tx.CommitAsync();
        }
        await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken);
    }
}

VerwaltungsbibliothekManagement Library

Die Verwaltungsbibliothek wird zum Erstellen, Aktualisieren und Löschen von Service Fabric-Clustern verwendet.The management library is used to create, update, and delete Service Fabric clusters.

Installieren Sie das NuGet-Paket direkt über die Paket-Manager-Konsole in Visual Studio oder mit der .NET Core CLI.Install the NuGet package directly from the Visual Studio Package Manager console or with the .NET Core CLI.

Visual Studio-Paket-ManagerVisual Studio Package Manager

Install-Package Microsoft.Azure.Management.ServiceFabric
dotnet add package Microsoft.Azure.Management.ServiceFabric

BeispieleSamples