MessageExtensions.ExtractActivity(Message, String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
パラメーター
- message
- Message
- activityName
- String
戻り値
例
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}")
}
}
すべてのログに がスタンプされていることに Current注意してください。入れ子になったメソッド呼び出し (同期または非同期) Current 内で使用できる ID は、非同期メソッド呼び出しでフローするアンビエント コンテキストです。
注釈
トレース コンテキストは、プロデューサーとコンシューマーの間のテレメトリを関連付けるために使用され、 の 'Diagnostic-Id' プロパティと 'Correlation-Context' プロパティによって UserProperties表されます。
.NET SDK は、ServiceBus にメッセージを送信するときにコンテキストを自動的に挿入します (診断がトレース システムによって有効になっている場合)。
'Diagnostic-Id' は、メッセージをエンキューした操作を一意に識別します
'Correlation-Context' は、操作の省略可能なコンテキストを再設定するスティング キー値ペアのコンマ区切りのリストです。
メッセージにトレース コンテキストがない場合、このメソッドは親なしで を返します Activity 。
返される Activity は、使用する前に開始する必要があります (以下の例を参照)。
適用対象
Azure SDK for .NET