MessageExtensions.ExtractActivity(Message, String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Parameter
- message
- Message
- activityName
- String
Gibt zurück
Beispiele
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}")
}
}
Beachten Sie, dass jedes Protokoll mit Currentgestempelt wird. ID, die in einem beliebigen geschachtelten Methodenaufruf (Synchronisierung oder asynchron) verwendet werden kann. Current Hierbei handelt es sich um einen Umgebungskontext, der mit asynchronen Methodenaufrufen fließt.
Hinweise
Der Ablaufverfolgungskontext wird verwendet, um Telemetriedaten zwischen Producer und Consumer zu korrelieren und durch die Eigenschaften "Diagnostic-Id" und "Correlation-Context" in UserPropertiesdargestellt.
Das .NET SDK fügt beim Senden von Nachrichten an den ServiceBus automatisch Kontext ein (wenn Diagnose durch das Ablaufverfolgungssystem aktiviert ist).
"Diagnostic-ID" identifiziert eindeutig den Vorgang, der eine Nachricht in die Warteschlange gestellt hat.
"Correlation-Context" ist eine durch Trennzeichen getrennte Liste von Stingschlüsselwertpaaren, die den optionalen Kontext für den Vorgang festlegen.
Wenn in der Nachricht kein Ablaufverfolgungskontext vorhanden ist, gibt diese Methode ohne übergeordnetes Element zurück Activity .
Zurückgegeben muss Activity gestartet werden, bevor es verwendet werden kann (siehe Beispiel unten).
Gilt für:
Azure SDK for .NET