| File: Shared\TestHostApplicationLifetime.cs | Web Access |
| Project: src\tests\Aspire.Dashboard.Tests\Aspire.Dashboard.Tests.csproj (Aspire.Dashboard.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Extensions.Hosting; namespace Aspire.Dashboard.Tests.Shared; internal sealed class TestHostApplicationLifetime : IHostApplicationLifetime, IDisposable { private readonly CancellationTokenSource _started = new(); private readonly CancellationTokenSource _stopping = new(); private readonly CancellationTokenSource _stopped = new(); public CancellationToken ApplicationStarted => _started.Token; public CancellationToken ApplicationStopping => _stopping.Token; public CancellationToken ApplicationStopped => _stopped.Token; public void NotifyStarted() => _started.Cancel(); public void StopApplication() => _stopping.Cancel(); public void Dispose() { _started.Dispose(); _stopping.Dispose(); _stopped.Dispose(); } }