public override void Dispose() { var scope = Interlocked.Exchange(ref accessor, null); if (scope != null) { scope.Dispose(); } }