/// <summary> /// Обернуть асинхронный метод, чтобы его название правильно логировалось /// </summary> public static AsyncMethodToken Scope([CallerMemberName] string caller = null) { AsyncScope.Push(caller); return(new AsyncMethodToken()); }
/// <summary> /// Прервать цепочку асинхронных вызовов /// </summary> public static void BreakScope() => AsyncScope.Clear();
public void Dispose() => AsyncScope.Pop();