1 instantiation of TerminalViewSession
Aspire.Dashboard (1)
Terminal\TerminalViewSessionRegistry.cs (1)
26var session = new TerminalViewSession(endpointPathAndQuery, readOnly, id => _sessions.TryRemove(id, out _));
44 references to TerminalViewSession
Aspire.Dashboard (14)
Components\Controls\TerminalView.razor.cs (1)
38private TerminalViewSession? _viewSession;
Terminal\TerminalViewSessionRegistry.cs (5)
16private readonly ConcurrentDictionary<string, TerminalViewSession> _sessions = new(StringComparer.Ordinal); 24public TerminalViewSession Create(string endpointPathAndQuery, bool readOnly) 26var session = new TerminalViewSession(endpointPathAndQuery, readOnly, id => _sessions.TryRemove(id, out _)); 42public bool TryGet(string id, string endpointPathAndQuery, [NotNullWhen(true)] out TerminalViewSession? session) 44if (_sessions.TryGetValue(id, out var candidate) && candidate.MatchesEndpoint(endpointPathAndQuery))
Terminal\TerminalWebSocketProxy.cs (8)
69if (!TryGetViewSession(context, sessions, out var session)) 122if (!TryGetViewSession(context, sessions, out var session)) 156private static bool TryGetViewSession(HttpContext context, TerminalViewSessionRegistry sessions, out TerminalViewSession? session) 218private static async Task CloseEndedAsync(HttpContext context, TerminalViewSession? session, ILogger logger) 228private static async Task HandleConnectionAsync(HttpContext context, Stream upstream, TerminalViewSession? session, ILogger logger, string connectionId) 291TerminalViewSession? session, ILogger logger, CancellationToken cancellationToken) 326Stream upstream, Task completion, TerminalViewSession? session, ILogger logger, CancellationToken cancellationToken) 544Hmp1WorkloadAdapter workload, TerminalViewSession? session, GrpcTerminalClientStream? grpc, CancellationToken cancellationToken)
Aspire.Dashboard.Components.Tests (4)
Controls\TerminalViewTests.cs (4)
778Assert.True(registry.TryGet(viewId, "/api/apphost-terminal?terminalId=terminal", out var session)); 806viewId, "/api/apphost-terminal?terminalId=terminal", out var session)); 1000Assert.True(registry.TryGet(firstId, "/api/apphost-terminal?terminalId=first", out var firstSession)); 1021viewId, "/api/apphost-terminal?terminalId=terminal", out var session));
Aspire.Dashboard.Playwright.Tests (3)
Integration\Playwright\TerminalTests.cs (3)
105using var session = fixture.DashboardApp.Services.GetRequiredService<TerminalViewSessionRegistry>() 544private static Task SetReadOnlyAsync(IPage page, int terminalId, TerminalViewSession session, bool readOnly) 588private static Task<int> MountModuleAsync(IPage page, TerminalViewSession session, bool chromeless) =>
Aspire.Dashboard.Tests (23)
Model\DashboardClientTests.cs (2)
64using var session = sessions.Create("/api/apphost-terminal?terminalId=terminal", readOnly: false); 183using var session = sessions.Create("/api/apphost-terminal?terminalId=terminal", readOnly: false);
Shared\TerminalTestHost.cs (2)
60public TerminalViewSession CreateViewSession(bool readOnly) => 87public Task<ClientWebSocket> ConnectBrowserAsync(TerminalViewSession session, CancellationToken cancellationToken) =>
Terminal\TerminalViewSessionRegistryTests.cs (9)
16using var first = registry.Create(endpoint, readOnly: false); 17using var second = registry.Create(endpoint, readOnly: false); 18Assert.True(registry.TryGet(first.Id, endpoint, out var connection)); 34var session = registry.Create(endpoint, readOnly: false); 35Assert.True(registry.TryGet(session.Id, endpoint, out var connection)); 51using var session = registry.Create(endpoint, readOnly: false); 52using var otherView = registry.Create(endpoint, readOnly: false); 60Assert.True(registry.TryGet(session.Id, endpoint, out var retained)); 77using var session = registry.Create("/dashboard/api/terminal?resource=a%20b", readOnly: true);
Terminal\TerminalWebSocketProxyEndpointTests.cs (1)
145using var session = host.Services.GetRequiredService<TerminalViewSessionRegistry>()
Terminal\TerminalWebSocketTests.cs (9)
453using var session = host.CreateViewSession(readOnly: false); 491using var session = host.CreateViewSession(readOnly: initiallyReadOnly); 543using var session = host.CreateViewSession(readOnly: true); 591using var session = host.CreateViewSession(readOnly); 618using var session = host.CreateViewSession(readOnly: false); 648using var session = host.CreateViewSession(readOnly: false); 667using var session = host.CreateViewSession(readOnly: false); 692using var session = host.CreateViewSession(readOnly: false); 758using var session = host.CreateViewSession(readOnly: false);