コード例 #1
0
        public async Task Run(CancellationToken cancelToken)
        {
            try
            {
                _listener = new GCEventListener(OnGarbageCollected);

                while (!cancelToken.IsCancellationRequested)
                {
                    lock (_outputHealthLock)
                    {
                        OutputHealthInfo();
                    }

                    await Task.Delay(monitorInterval, cancelToken);
                }
            }
            catch (OperationCanceledException)
            {
                _listener.Dispose();
                _listener = null;
            }
        }
コード例 #2
0
 protected override void DisposeManagedResources()
 {
     _listener?.Dispose();
 }