Microsoft.R.Host.Client.Session.RSessionProvider.Dispose C# (CSharp) Méthode

Dispose() public méthode

public Dispose ( ) : void
Résultat void
        public void Dispose() {
            if (!_disposeToken.TryMarkDisposed()) {
                return;
            }

            var sessions = GetSessions().ToList();
            var stopHostTasks = sessions.Select(session => session.StopHostAsync());
            try {
                _services.Tasks.Wait(Task.WhenAll(stopHostTasks));
            } catch (Exception ex) when (!ex.IsCriticalException()) { }

            foreach (var session in sessions) {
                session.Dispose();
            }

            Broker.Dispose();
        }

Usage Example

        public void Lifecycle() {
            var sessionProvider = new RSessionProvider(TestCoreServices.CreateReal());
            // ReSharper disable once AccessToDisposedClosure
            Action a = () => sessionProvider.GetOrCreate(new Guid());
            a.ShouldNotThrow();

            sessionProvider.Dispose();
            a.ShouldThrow<InvalidOperationException>();
        }
All Usage Examples Of Microsoft.R.Host.Client.Session.RSessionProvider::Dispose