Mercurial > pub > ImplabNet
view Implab/Diagnostics/ActivityScope.cs @ 255:b00441e04738 v3
Adde workaround to the behaviour of the logical operations stack in conjuction
with async/await methods
author | cin |
---|---|
date | Wed, 04 Apr 2018 15:38:48 +0300 |
parents | 34df34841225 |
children |
line wrap: on
line source
using System; using System.Diagnostics; namespace Implab.Diagnostics { public class ActivityScope : IDisposable { readonly TraceSource m_source; readonly Guid m_prevId; readonly string m_activity; readonly int m_code; internal ActivityScope(TraceSource source, Guid prevId, int code, string activity) { m_source = source; m_prevId = prevId; m_code = code; m_activity = activity; } public void Dispose() { if (Trace.CorrelationManager.ActivityId != m_prevId) m_source.TraceTransfer(m_code, "Transfer", m_prevId); m_source.TraceEvent(TraceEventType.Stop, 0, m_activity); Trace.CorrelationManager.ActivityId = m_prevId; } } }