Delen via


integratie .NET AspireAzure Service Bus

Inclusief:Hostingintegratie inbegrepen —&— Client integratie inbegrepenClient integratie

Azure Service Bus is een volledig beheerde enterprise-berichtenbroker met berichtenwachtrijen en onderwerpen over publiceren/abonneren. Met de integratie van .NET AspireAzure Service Bus kunt u vanuit Azure Service Bus toepassingen verbinding maken met .NET exemplaren.

Hostingintegratie

De .NET.NET AspireAzure Service Bus hostintegratiemodellen de verschillende Service Bus-resources als de volgende typen:

Als u toegang wilt krijgen tot deze typen en API's om ze uit te drukken, voegt u het 📦Aspire.Hosting.Azure.ServiceBus NuGet-pakket toe in het app-hostproject.

dotnet add package Aspire.Hosting.Azure.ServiceBus

Zie dotnet-pakket toevoegen of pakketafhankelijkheden beheren in .NET toepassingen voor meer informatie.

Azure Service Bus-resource toevoegen

Roep in uw app-hostproject AddAzureServiceBus aan om een Azure Service Bus resourcebuilder toe te voegen en te retourneren.

var builder = DistributedApplication.CreateBuilder(args);

var serviceBus = builder.AddAzureServiceBus("messaging");

// After adding all resources, run the app...

Wanneer u een AzureServiceBusResource toevoegt aan de app-host, worden er andere nuttige API's weergegeven om wachtrijen en onderwerpen toe te voegen. Met andere woorden, u moet een AzureServiceBusResource toevoegen voordat u een van de andere Service Bus-resources toevoegt.

Belangrijk

Wanneer u AddAzureServiceBusaanroept, wordt impliciet AddAzureProvisioningaangeroepen. Hiermee wordt ondersteuning toegevoegd voor het dynamisch genereren van Azure resources tijdens het opstarten van de app. De app moet het juiste abonnement en de juiste locatie configureren. Zie Configuratie voor meer informatie.

Provisioning-gegenereerde Bicep

Als u nieuw bent met Bicep, is het een domeinspecifieke taal voor het definiëren van Azure bronnen. Met .NET.NET Aspirehoeft u bicep niet handmatig te schrijven, in plaats daarvan genereren de inrichtings-API's Bicep voor u. Wanneer u uw app publiceert, wordt de gegenereerde Bicep samen met het manifestbestand weergegeven. Wanneer u een Azure Service Bus resource toevoegt, wordt de volgende Bicep gegenereerd:

@description('The location for the resource(s) to be deployed.')
param location string = resourceGroup().location

param sku string = 'Standard'

resource service_bus 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
  name: take('servicebus-${uniqueString(resourceGroup().id)}', 50)
  location: location
  properties: {
    disableLocalAuth: true
  }
  sku: {
    name: sku
  }
  tags: {
    'aspire-resource-name': 'service-bus'
  }
}

output serviceBusEndpoint string = service_bus.properties.serviceBusEndpoint

output name string = service_bus.name

De voorgaande Bicep is een module die een Azure Service Bus naamruimteresource in richt. Daarnaast worden roltoewijzingen gemaakt voor de Azure resource in een afzonderlijke module:

@description('The location for the resource(s) to be deployed.')
param location string = resourceGroup().location

param service_bus_outputs_name string

param principalType string

param principalId string

resource service_bus 'Microsoft.ServiceBus/namespaces@2024-01-01' existing = {
  name: service_bus_outputs_name
}

resource service_bus_AzureServiceBusDataOwner 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: guid(service_bus.id, principalId, subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '090c5cfd-751d-490a-894a-3ce6f1109419'))
  properties: {
    principalId: principalId
    roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '090c5cfd-751d-490a-894a-3ce6f1109419')
    principalType: principalType
  }
  scope: service_bus
}

Naast de Service Bus-naamruimte wordt ook een ingebouwde Azure rol van gegevenseigenaar binnen Azure rollen-gebaseerd toegangsbeheer (Azure Service Bus RBAC) voorzien. De rol is toegewezen aan de resourcegroep van de Service Bus-naamruimte. Zie Azure Service Bus Gegevenseigenaar voor meer informatie.

Voorzieningsinfrastructuur personaliseren

Alle .NET AspireAzure resources zijn subklassen van het AzureProvisioningResource type. Met dit type kunt u de gegenereerde Bicep aanpassen door een vloeiende API te bieden waarmee u de Azure-resources kunt configureren, met behulp van de ConfigureInfrastructure<T>(IResourceBuilder<T>, Action<AzureResourceInfrastructure>)-API. U kunt bijvoorbeeld de sku, locatie en meer configureren. In het volgende voorbeeld ziet u hoe u de Azure Service Bus resource kunt aanpassen:

builder.AddAzureServiceBus("service-bus")
    .ConfigureInfrastructure(infra =>
    {
        var serviceBusNamespace = infra.GetProvisionableResources()
                                       .OfType<ServiceBusNamespace>()
                                       .Single();

        serviceBusNamespace.Sku = new ServiceBusSku
        {
            Name = ServiceBusSkuName.Premium
        };
        serviceBusNamespace.Tags.Add("ExampleKey", "Example value");
    });

De voorgaande code:

Er zijn nog veel meer configuratieopties beschikbaar om de Azure Service Bus resource aan te passen. Zie Azure.Provisioning.ServiceBusvoor meer informatie. Zie voor meer informatie Azure. Aanpassing van inrichting.

Verbinding maken met een bestaande Azure Service Bus-naamruimte

Mogelijk hebt u een bestaande Azure Service Bus naamruimte waarmee u verbinding wilt maken. Koppel een aanroep om te bevestigen dat uw AzureServiceBusResource een bestaande bron is.

var builder = DistributedApplication.CreateBuilder(args);

var existingServiceBusName = builder.AddParameter("existingServiceBusName");
var existingServiceBusResourceGroup = builder.AddParameter("existingServiceBusResourceGroup");

var serviceBus = builder.AddAzureServiceBus("messaging")
                        .AsExisting(existingServiceBusName, existingServiceBusResourceGroup);

builder.AddProject<Projects.WebApplication>("web")
       .WithReference(serviceBus);

// After adding all resources, run the app...

Zie Gebruik bestaande resources voor meer informatie over het behandelen van Azure Service Bus resources als bestaande Azure resources.

Notitie

U kunt ook een verbindingsreeks toevoegen aan de app-host in plaats van een Azure Service Bus resource weer te geven. Deze benadering is zwak getypt en werkt niet met roltoewijzingen of infrastructuuraanpassingen. Voor meer informatie, zie Bestaande Azure resources toevoegen met verbindingsreeksen.

Azure Service Bus wachtrij toevoegen

Als u een Azure Service Bus wachtrij wilt toevoegen, roept u de methode AddServiceBusQueue aan op de IResourceBuilder<AzureServiceBusResource>:

var builder = DistributedApplication.CreateBuilder(args);

var serviceBus = builder.AddAzureServiceBus("messaging");
var queue = serviceBus.AddServiceBusQueue("queue");

// After adding all resources, run the app...

Wanneer u AddServiceBusQueue(IResourceBuilder<AzureServiceBusResource>, String, String)aanroept, worden uw Service Bus-resources geconfigureerd voor een wachtrij met de naam queue. Hiermee wordt een expliciete ouder-kindrelatie weergegeven tussen de Service Bus-resource en zijn onderliggende element messagingqueue. De wachtrij wordt gemaakt in de Service Bus-naamruimte die wordt vertegenwoordigd door de AzureServiceBusResource die u eerder hebt toegevoegd. Zie Wachtrijen, onderwerpen en abonnementen in Azure Service Busvoor meer informatie.

Azure Service Bus onderwerp en abonnement toevoegen

Als u een Azure Service Bus onderwerp wilt toevoegen, roept u de methode AddServiceBusTopic aan op de IResourceBuilder<AzureServiceBusResource>:

var builder = DistributedApplication.CreateBuilder(args);

var serviceBus = builder.AddAzureServiceBus("messaging");
var topic = serviceBus.AddServiceBusTopic("topic");

// After adding all resources, run the app...

Wanneer u AddServiceBusTopic(IResourceBuilder<AzureServiceBusResource>, String, String)aanroept, worden uw Service Bus-resources geconfigureerd voor een onderwerp met de naam topic. Het onderwerp wordt gemaakt in de Service Bus-naamruimte die wordt vertegenwoordigd door de AzureServiceBusResource die u eerder hebt toegevoegd.

Als u een abonnement voor het onderwerp wilt toevoegen, roept u de AddServiceBusSubscription methode aan op de IResourceBuilder<AzureServiceBusTopicResource> en configureert u dit met behulp van de methode WithProperties:

using Aspire.Hosting.Azure;

var builder = DistributedApplication.CreateBuilder(args);

var serviceBus = builder.AddAzureServiceBus("messaging");
var topic = serviceBus.AddServiceBusTopic("topic");
topic.AddServiceBusSubscription("sub1")
     .WithProperties(subscription =>
     {
         subscription.MaxDeliveryCount = 10;
         subscription.Rules.Add(
             new AzureServiceBusRule("app-prop-filter-1")
             {
                 CorrelationFilter = new()
                 {
                     ContentType = "application/text",
                     CorrelationId = "id1",
                     Subject = "subject1",
                     MessageId = "msgid1",
                     ReplyTo = "someQueue",
                     ReplyToSessionId = "sessionId",
                     SessionId = "session1",
                     SendTo = "xyz"
                 }
             });
     });

// After adding all resources, run the app...

De voorgaande code voegt niet alleen een onderwerp toe en maakt en configureert een abonnement met de naam sub1 voor het onderwerp. Het abonnement heeft een maximum aantal leveringen van 10 en een regel met de naam app-prop-filter-1. De regel is een correlatiefilter waarmee berichten worden gefilterd op basis van de eigenschappen ContentType, CorrelationId, Subject, MessageId, ReplyTo, ReplyToSessionId, SessionIden SendTo.

Zie Wachtrijen, onderwerpen en abonnementen in Azure Service Busvoor meer informatie.

Resource voor Azure Service Bus emulator toevoegen

Als u een Azure Service Bus emulatorresource wilt toevoegen, koppelt u een aanroep op een <IResourceBuilder<AzureServiceBusResource>> aan de RunAsEmulator-API:

var builder = DistributedApplication.CreateBuilder(args);

var serviceBus = builder.AddAzureServiceBus("messaging")
                        .RunAsEmulator();

// After adding all resources, run the app...

Wanneer u RunAsEmulatoraanroept, worden uw Service Bus-resources geconfigureerd om lokaal te worden uitgevoerd met behulp van een emulator. De emulator is in dit geval de Azure Service Bus emulator. De Azure Service Bus Emulator biedt een gratis lokale omgeving voor het testen van uw Azure Service Bus-apps en het is een perfecte aanvulling op de .NET AspireAzure hostingintegratie. De emulator is niet geïnstalleerd, maar is toegankelijk voor .NET.NET Aspire als container. Wanneer u een container toevoegt aan de app-host, zoals wordt weergegeven in het vorige voorbeeld met de mcr.microsoft.com/azure-messaging/servicebus-emulator-containerimage (en de bijhorende mcr.microsoft.com/azure-sql-edge-containerimage), wordt de container gemaakt en gestart zodra de app-host start. Zie de levenscyclus van containerresources voor meer informatie.

Service Bus-emulatorcontainer configureren

Er zijn verschillende configuraties beschikbaar voor containerbronnen, bijvoorbeeld: u kunt de poorten van de container configureren of een wholistische JSON configuratie instellen die alles overschrijft.

Containerhostpoort voor Service Bus-emulator configureren

De Service Bus Emulator-container wordt standaard weergegeven wanneer deze is geconfigureerd door .NET.NET Aspire. De volgende eindpunten worden weergegeven:

Eindpunt Afbeelding Containerpoort Host-poort
emulator mcr.microsoft.com/azure-messaging/servicebus-emulator 5672 dynamisch
tcp mcr.microsoft.com/azure-sql-edge 1433 dynamisch

De poort waarop wordt geluisterd, is standaard dynamisch. Wanneer de container wordt gestart, wordt de poort toegewezen aan een willekeurige poort op de hostcomputer. Als u de eindpuntpoort wilt configureren, koppel de aanroepen met behulp van de containerresourcebouwer die wordt geleverd door de RunAsEmulator methode en vervolgens de WithHostPort(IResourceBuilder<AzureServiceBusEmulatorResource>, Nullable<Int32>), zoals in het volgende voorbeeld wordt weergegeven.

var builder = DistributedApplication.CreateBuilder(args);

var serviceBus = builder.AddAzureServiceBus("messaging").RunAsEmulator(
                         emulator =>
                         {
                             emulator.WithHostPort(7777);
                         });

// After adding all resources, run the app...

Met de voorgaande code wordt het bestaande emulator-eindpunt van de Service Bus-emulatorcontainer geconfigureerd om te luisteren op poort 7777. De poort van de Service Bus-emulatorcontainer is toegewezen aan de hostpoort, zoals wordt weergegeven in de volgende tabel:

Eindpuntnaam Poorttoewijzing (container:host)
emulator 5672:7777
Configureer de configuratie van de Service Bus-emulatorcontainer JSON

De Service Bus-emulator genereert automatisch een configuratie die vergelijkbaar is met dit config.json-bestand van de geconfigureerde resources. U kunt dit gegenereerde bestand volledig overschrijven of de JSON configuratie bijwerken met een JsonNode weergave van de configuratie.

Als u een aangepast JSON-configuratiebestand wilt opgeven, roept u de methode WithConfigurationFile(IResourceBuilder<AzureServiceBusEmulatorResource>, String) aan:

var builder = DistributedApplication.CreateBuilder(args);

var serviceBus = builder.AddAzureServiceBus("messaging").RunAsEmulator(
                         emulator =>
                         {
                             emulator.WithConfigurationFile(
                                 path: "./messaging/custom-config.json");
                         });

Met de voorgaande code wordt de Service Bus Emulator-container geconfigureerd voor het gebruik van een aangepast JSON configuratiebestand dat zich in ./messaging/custom-config.jsonbevindt. Als u in plaats daarvan specifieke eigenschappen in de standaardconfiguratie wilt overschrijven, roept u de methode WithConfiguration(IResourceBuilder<AzureServiceBusEmulatorResource>, Action<JsonNode>) aan:

var builder = DistributedApplication.CreateBuilder(args);

var serviceBus = builder.AddAzureServiceBus("messaging").RunAsEmulator(
                         emulator =>
                         {
                             emulator.WithConfiguration(
                                 (JsonNode configuration) =>
                                 {
                                     var userConfig = configuration["UserConfig"];
                                     var ns = userConfig["Namespaces"][0];
                                     var firstQueue = ns["Queues"][0];
                                     var properties = firstQueue["Properties"];
                                     
                                     properties["MaxDeliveryCount"] = 5;
                                     properties["RequiresDuplicateDetection"] = true;
                                     properties["DefaultMessageTimeToLive"] = "PT2H";
                                 });
                         });

// After adding all resources, run the app...

Met de voorgaande code wordt het UserConfig knooppunt opgehaald uit de standaardconfiguratie. Vervolgens worden de eigenschappen van de eerste wachtrij bijgewerkt om de MaxDeliveryCount in te stellen op 5, RequiresDuplicateDetection op trueen DefaultMessageTimeToLive op 2 hours.

Gezondheidscontroles van hostingintegratie

De Azure Service Bus hostingintegratie voegt automatisch een statuscontrole toe voor de Service Bus-resource. De statuscontrole controleert of de Service Bus actief is en of er een verbinding tot stand kan worden gebracht.

De hostingintegratie is afhankelijk van het 📦 NuGet-pakket AspNetCore.HealthChecks.AzureServiceBus .

Client integratie

Installeer het NuGet-pakket .NET Aspire in het project waarin de client wordt gebruikt om aan de slag te gaan met de Azure Service Bus📦-clientintegratie, dat wil zeggen het project voor de toepassing die gebruikmaakt van de Service Bus-client. De Service Bus-clientintegratie registreert een ServiceBusClient exemplaar dat u kunt gebruiken om te communiceren met Service Bus.

dotnet add package Aspire.Azure.Messaging.ServiceBus

Service Bus-client toevoegen

Roep in het Program.cs bestand van het clientgebruikte project de AddAzureServiceBusClient-extensiemethode aan op een IHostApplicationBuilder om een ServiceBusClient te registreren voor gebruik via de container voor afhankelijkheidsinjectie. De methode gebruikt een verbindingsnaamparameter.

builder.AddAzureServiceBusClient(connectionName: "messaging");

Hint

De parameter connectionName moet overeenkomen met de naam die wordt gebruikt bij het toevoegen van de Service Bus-resource in het app-hostproject. Met andere woorden, wanneer u AddAzureServiceBus aanroept en een naam opgeeft van messaging diezelfde naam moet worden gebruikt bij het aanroepen van AddAzureServiceBusClient. Zie Resource toevoegen Azure Service Busvoor meer informatie.

Vervolgens kunt u het ServiceBusClient exemplaar ophalen met behulp van afhankelijkheidsinjectie. Als u bijvoorbeeld de verbinding wilt ophalen uit een voorbeeldservice:

public class ExampleService(ServiceBusClient client)
{
    // Use client...
}

Zie Afhankelijkheidsinjectie voor meer informatie over afhankelijkheidsinjectie.NET.

Client voor Service Bus met sleutel toevoegen

Er kunnen situaties zijn waarin u meerdere ServiceBusClient exemplaren met verschillende verbindingsnamen wilt registreren. Om keyed Service Bus-clients te registreren, gebruikt u de AddKeyedAzureServiceBusClient-methode:

builder.AddKeyedAzureServiceBusClient(name: "mainBus");
builder.AddKeyedAzureServiceBusClient(name: "loggingBus");

Belangrijk

Wanneer u sleutelservices gebruikt, wordt verwacht dat uw Service Bus-resource twee benoemde bussen heeft geconfigureerd, één voor de mainBus en één voor de loggingBus.

Vervolgens kunt u de ServiceBusClient instanties ophalen via afhankelijkheidsinjectie. Als u bijvoorbeeld de verbinding wilt ophalen uit een voorbeeldservice:

public class ExampleService(
    [FromKeyedServices("mainBus")] ServiceBusClient mainBusClient,
    [FromKeyedServices("loggingBus")] ServiceBusClient loggingBusClient)
{
    // Use clients...
}

Zie Afhankelijkheidsinjectie: Sleutelservices voor meer informatie over sleutelservices.NET.

Configuratie

De .NET AspireAzure Service Bus-integratie biedt meerdere opties voor het configureren van de verbinding op basis van de vereisten en conventies van uw project.

Een verbindingsreeks gebruiken

Wanneer u een verbindingsreeks uit de sectie ConnectionStrings configuratie gebruikt, kunt u de naam van de verbindingsreeks opgeven bij het aanroepen van de AddAzureServiceBusClient methode:

builder.AddAzureServiceBusClient("messaging");

Vervolgens wordt de verbindingsreeks opgehaald uit de ConnectionStrings configuratiesectie:

{
  "ConnectionStrings": {
    "messaging": "Endpoint=sb://{namespace}.servicebus.windows.net/;SharedAccessKeyName={keyName};SharedAccessKey={key};"
  }
}

Zie de connectionString-documentatie voor meer informatie over het opmaken van deze verbindingsreeks.

Configuratieproviders gebruiken

De .NET AspireAzure Service Bus-integratie ondersteunt Microsoft.Extensions.Configuration. Het laadt de AzureMessagingServiceBusSettings vanuit de configuratie met behulp van de Aspire:Azure:Messaging:ServiceBus-key. Het volgende codefragment is een voorbeeld van een appsettings.json-bestand waarmee een aantal van de opties wordt geconfigureerd:

{
  "Aspire": {
    "Azure": {
      "Messaging": {
        "ServiceBus": {
          "ConnectionString": "Endpoint=sb://{namespace}.servicebus.windows.net/;SharedAccessKeyName={keyName};SharedAccessKey={key};",
          "DisableTracing": false
        }
      }
    }
  }
}

Zie voor het volledige Service Bus-clientintegratieschema JSONAspire.Azure.Messaging.ServiceBus/ConfigurationSchema.json.

Gebruik inline-afgevaardigden

U kunt ook de Action<AzureMessagingServiceBusSettings> configureSettings delegate doorgeven om enkele of alle opties inline in te stellen, bijvoorbeeld om tracering vanuit de code uit te schakelen.

builder.AddAzureServiceBusClient(
    "messaging",
    static settings => settings.DisableTracing = true);

U kunt de Azure.Messaging.ServiceBus.ServiceBusClientOptions ook instellen met behulp van de optionele parameter Action<ServiceBusClientOptions> configureClientOptions van de methode AddAzureServiceBusClient. Als u bijvoorbeeld het achtervoegsel van de ServiceBusClientOptions.Identifier user-agent header wilt instellen voor alle verzoeken die door deze client worden gedaan:

builder.AddAzureServiceBusClient(
    "messaging",
    configureClientOptions:
        clientOptions => clientOptions.Identifier = "myapp");

Gezondheidscontroles voor Client-integratie

Standaard stellen .NET.NET Aspire integraties gezondheidscontroles voor alle services in. Zie .NET.NET Aspire het overzicht van integraties voor meer informatie.

De .NET AspireAzure Service Bus-integratie:

  • Hiermee wordt de statuscontrole toegevoegd wanneer AzureMessagingServiceBusSettings.DisableTracingfalseis, waarbij geprobeerd wordt verbinding te maken met de Service Bus.
  • Integreert met het /health HTTP-eindpunt, dat specificeert dat alle geregistreerde gezondheidscontroles moeten slagen voordat de app als gereed wordt beschouwd om verkeer te accepteren.

Waarneembaarheid en telemetrie

.NET .NET Aspire Integraties stellen automatisch configuraties voor logboekregistratie, tracering en metrische gegevens in, die ook wel de pijlers van waarneembaarheid worden genoemd. Zie het overzicht van integratieobserveerbaarheid en telemetrie voor meer informatie over integratieobserveerbaarheid en telemetrie.NET.NET Aspire. Afhankelijk van de back-upservice ondersteunen sommige integraties mogelijk slechts enkele van deze functies. Sommige integraties ondersteunen bijvoorbeeld logboekregistratie en tracering, maar geen metrische gegevens. Telemetriefuncties kunnen ook worden uitgeschakeld met behulp van de technieken die worden weergegeven in de sectie Configuratie .

Loggen

De .NET AspireAzure Service Bus-integratie maakt gebruik van de volgende logboekcategorieën:

  • Azure.Core
  • Azure.Identity
  • Azure-Messaging-ServiceBus

Naast het ophalen van Azure Service Bus aanvraagdiagnose voor mislukte aanvragen, kunt u latentiedrempels configureren om te bepalen welke geslaagde Azure Service Bus aanvraagdiagnose wordt geregistreerd. De standaardwaarden zijn 100 ms voor puntbewerkingen en 500 ms voor niet-puntbewerkingen.

builder.AddAzureServiceBusClient(
    "messaging",
    configureClientOptions:
        clientOptions => {
            clientOptions.ServiceBusClientTelemetryOptions = new()
            {
                ServiceBusThresholdOptions = new()
                {
                    PointOperationLatencyThreshold = TimeSpan.FromMilliseconds(50),
                    NonPointOperationLatencyThreshold = TimeSpan.FromMilliseconds(300)
                }
            };
        });

Opsporing

De .NET AspireAzure Service Bus-integratie verzendt de volgende traceringsactiviteiten met behulp van OpenTelemetry:

  • Message
  • ServiceBusSender.Send
  • ServiceBusSender.Schedule
  • ServiceBusSender.Cancel
  • ServiceBusReceiver.Receive
  • ServiceBusReceiver.ReceiveDeferred
  • ServiceBusReceiver.Peek
  • ServiceBusReceiver.Abandon
  • ServiceBusReceiver.Complete
  • ServiceBusReceiver.DeadLetter
  • ServiceBusReceiver.Defer
  • ServiceBusReceiver.RenewMessageLock
  • ServiceBusSessionReceiver.RenewSessionLock
  • ServiceBusSessionReceiver.GetSessionState
  • ServiceBusSessionReceiver.SetSessionState
  • ServiceBusProcessor.ProcessMessage
  • ServiceBusSessionProcessor.ProcessSessionMessage
  • ServiceBusRuleManager.CreateRule
  • ServiceBusRuleManager.DeleteRule
  • ServiceBusRuleManager.GetRules

Azure Service Bus tracering is momenteel in de previewfase, dus moet u de experimentele switch instellen zodat traceringen worden uitgezonden.

AppContext.SetSwitch("Azure.Experimental.EnableActivitySource", true);

Zie Azure Service Busvoor meer informatie: Gedistribueerde tracering en correlatie via Service Bus-berichten.

Statistieken

De .NET AspireAzure Service Bus-integratie biedt momenteel geen ondersteuning voor metrische gegevens vanwege beperkingen met de Azure SDK.

Zie ook