8 overrides of Features
Microsoft.AspNetCore.Connections.Abstractions (1)
DefaultConnectionContext.cs (1)
75public override IFeatureCollection Features { get; }
Microsoft.AspNetCore.Http.Connections (1)
Internal\HttpConnectionContext.cs (1)
164public override IFeatureCollection Features { get; }
Microsoft.AspNetCore.Server.Kestrel.Core (4)
HttpsConfigurationService.cs (1)
205public override IFeatureCollection Features => _inner.Features;
Internal\WebTransport\WebTransportStream.cs (1)
32public override IFeatureCollection Features => _features;
Middleware\LoggingMultiplexedConnectionMiddleware.cs (2)
44public override IFeatureCollection Features => _inner.Features; 121public override IFeatureCollection Features => _inner.Features;
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (2)
src\aspnetcore\src\Servers\Kestrel\shared\TransportConnection.cs (1)
36public override IFeatureCollection Features => this;
src\aspnetcore\src\Servers\Kestrel\shared\TransportMultiplexedConnection.cs (1)
30public override IFeatureCollection Features => this;
50 references to Features
Aspire.Dashboard (1)
Authentication\Connection\ConnectionTypeMiddleware.cs (1)
26context.Features.Set<IConnectionTypeFeature>(new ConnectionTypeFeature { ConnectionTypes = _connectionTypes });
Microsoft.AspNetCore.Connections.Abstractions (1)
ConnectionContext.cs (1)
29Features.Get<IConnectionLifetimeFeature>()?.Abort();
Microsoft.AspNetCore.Http.Connections (2)
HttpConnectionContextExtensions.cs (1)
25return connection.Features.Get<IHttpContextFeature>()?.HttpContext;
src\aspnetcore\src\Shared\ConnectionEndpointTags.cs (1)
45var localEndpoint = connectionContext.Features.Get<IConnectionEndPointFeature>()?.LocalEndPoint
Microsoft.AspNetCore.Http.Connections.Common (1)
NegotiationResponse.cs (1)
52/// It should also set <see cref="IStatefulReconnectFeature"/> on the <see cref="BaseConnectionContext.Features"/> collection so other layers of the
Microsoft.AspNetCore.Server.Kestrel.Core (40)
HttpsConfigurationService.cs (1)
205public override IFeatureCollection Features => _inner.Features;
Internal\Http3\Http3Connection.cs (5)
383var streamDirectionFeature = streamContext.Features.Get<IStreamDirectionFeature>(); 384var streamIdFeature = streamContext.Features.Get<IStreamIdFeature>(); 602streamContext.Features.GetRequiredFeature<IProtocolErrorCodeFeature>().Error = (long)Http3ErrorCode.RequestRejected; 612var persistentStateFeature = streamContext.Features.Get<IPersistentStateFeature>(); 682streamContext.Features,
Internal\Http3\Http3ControlStream.cs (1)
434_context.ConnectionContext.Features.Get<IConnectionLifetimeNotificationFeature>()?.RequestClose();
Internal\HttpConnection.cs (1)
138if (_context.ConnectionContext.Features.Get<IConnectionMetricsTagsFeature>() is { } metricsTags)
Internal\Infrastructure\KestrelConnectionOfT.cs (5)
27connectionContext.Features.Set<IConnectionHeartbeatFeature>(this); 28connectionContext.Features.Set<IConnectionCompleteFeature>(this); 29connectionContext.Features.Set<IConnectionLifetimeNotificationFeature>(this); 30connectionContext.Features.Set<IConnectionMetricsContextFeature>(this); 51connectionContext.Features.Set<IConnectionMetricsTagsFeature>(metricsTagsFeature);
Internal\Infrastructure\TransportConnectionManager.cs (1)
82connection.TransportConnection.Features.Get<IConnectionMetricsContextFeature>()?.MetricsContext,
Internal\SniOptionsSelector.cs (1)
148connection.Features.Set(new HttpProtocolsFeature(sniOptions.HttpProtocols));
Internal\TlsConnectionFeature.cs (1)
172_context.Features.Get<IConnectionLifetimeNotificationFeature>()?.RequestClose();
Middleware\ConnectionLimitMiddleware.cs (2)
38_metrics.ConnectionRejected(connection.Features.GetRequiredFeature<IConnectionMetricsContextFeature>().MetricsContext); 47connection.Features.Set<IDecrementConcurrentConnectionCountFeature>(releasor);
Middleware\HttpConnectionMiddleware.cs (4)
30var memoryPoolFeature = connectionContext.Features.Get<IMemoryPoolFeature>(); 31var protocols = connectionContext.Features.Get<HttpProtocolsFeature>()?.HttpProtocols ?? _endpointDefaultProtocols; 32var metricContext = connectionContext.Features.GetRequiredFeature<IConnectionMetricsContextFeature>().MetricsContext; 42connectionContext.Features,
Middleware\HttpMultiplexedConnectionMiddleware.cs (4)
30var memoryPoolFeature = connectionContext.Features.Get<IMemoryPoolFeature>(); 33var metricContext = connectionContext.Features.GetRequiredFeature<IConnectionMetricsContextFeature>().MetricsContext; 41connectionContext.Features, 47if (connectionContext.Features.Get<IConnectionMetricsTagsFeature>() is { } metricsTags)
Middleware\HttpsConnectionMiddleware.cs (11)
147if (context.Features.Get<ITlsConnectionFeature>() != null) 155context.Features.Get<IMemoryPoolFeature>()?.MemoryPool ?? MemoryPool<byte>.Shared); 162context.Features.Set<ITlsConnectionFeature>(feature); 163context.Features.Set<ITlsHandshakeFeature>(feature); 164context.Features.Set<ITlsApplicationProtocolFeature>(feature); 165context.Features.Set<ISslStreamFeature>(feature); 166context.Features.Set<SslStream>(sslStream); // Anti-pattern, but retain for back compat 168var metricsTagsFeature = context.Features.Get<IConnectionMetricsTagsFeature>(); 169var metricsContext = context.Features.GetRequiredFeature<IConnectionMetricsContextFeature>().MetricsContext; 382_metrics.TlsHandshakeStart(context.Features.GetRequiredFeature<IConnectionMetricsContextFeature>().MetricsContext); 474context.Features.Set(sslStream);
Middleware\LoggingMultiplexedConnectionMiddleware.cs (2)
44public override IFeatureCollection Features => _inner.Features; 121public override IFeatureCollection Features => _inner.Features;
src\aspnetcore\src\Shared\ConnectionEndpointTags.cs (1)
45var localEndpoint = connectionContext.Features.Get<IConnectionEndPointFeature>()?.LocalEndPoint
Microsoft.AspNetCore.SignalR.Core (5)
HubConnectionContext.cs (4)
84if (connectionContext.Features.Get<IConnectionLifetimeNotificationFeature>() is IConnectionLifetimeNotificationFeature lifetimeNotification) 148public virtual IFeatureCollection Features => _connectionContext.Features; 500if (_useStatefulReconnect && _connectionContext.Features.Get<IStatefulReconnectFeature>() is IStatefulReconnectFeature feature) 625if (_connectionContext.Features.Get<IStatefulReconnectFeature>() is IStatefulReconnectFeature feature)
src\aspnetcore\src\Shared\ConnectionEndpointTags.cs (1)
45var localEndpoint = connectionContext.Features.Get<IConnectionEndPointFeature>()?.LocalEndPoint