Share via


MessageExtensions.ExtractActivity(Message, String) Método

Definición

Crea Activity en función del contexto de seguimiento almacenado en el Messagenombrede actividad opcional Nuevo Activity con el contexto de seguimiento.

public static System.Diagnostics.Activity ExtractActivity (this Microsoft.Azure.ServiceBus.Message message, string activityName = default);
static member ExtractActivity : Microsoft.Azure.ServiceBus.Message * string -> System.Diagnostics.Activity
<Extension()>
Public Function ExtractActivity (message As Message, Optional activityName As String = Nothing) As Activity

Parámetros

message
Message
activityName
String

Devoluciones

Ejemplos

async Task ProcessAsync()
{
   var message = await messageReceiver.ReceiveAsync();
   var activity = message.ExtractActivity();
   activity.Start();
   Logger.LogInformation($"Message received, Id = {Activity.Current.Id}")
   try 
   {
      // process message
   }
   catch (Exception ex)
   {
        Logger.LogError($"Exception {ex}, Id = {Activity.Current.Id}")
   }
   finally 
   {
        activity.Stop();
        // Activity is stopped, we no longer have it in Activity.Current, let's user activity now
        Logger.LogInformation($"Message processed, Id = {activity.Id}, Duration = {activity.Duration}")
   }
}

Tenga en cuenta que todos los registros se marcan con Current. Identificador, que se puede usar dentro de cualquier llamada de método anidado (sincronización o asincrónica): Current es un contexto ambiente que fluye con llamadas de método asincrónico.

Comentarios

El contexto de seguimiento se usa para correlacionar la telemetría entre el productor y el consumidor y las propiedades "Diagnostic-Id" y "Correlation-Context" en UserProperties.

El SDK de .NET inserta automáticamente el contexto al enviar mensajes a ServiceBus (si el sistema de seguimiento habilita el diagnóstico).

"Diagnostic-Id" identifica de forma única la operación que ha puestos en cola el mensaje

'Correlation-Context' es una lista separada por comas de pares clave-valor de sting represeting optional context for the operation.

Si no hay ningún contexto de seguimiento en el mensaje, este método devuelve Activity sin elemento primario.

Debe Activity iniciarse antes de que se pueda usar (vea el ejemplo siguiente)

Se aplica a