KestrelServerOptions Classe

Définition

Fournit une configuration programmatique des fonctionnalités spécifiques de Kestrel.

public ref class KestrelServerOptions
public class KestrelServerOptions
type KestrelServerOptions = class
Public Class KestrelServerOptions
Héritage
KestrelServerOptions

Constructeurs

KestrelServerOptions()

Fournit une configuration programmatique des fonctionnalités spécifiques de Kestrel.

Propriétés

AddServerHeader

Obtient ou définit si l’en-tête Server doit être inclus dans chaque réponse.

AllowAlternateSchemes

Obtient ou définit une valeur qui contrôle la façon dont le champ pour les :scheme requêtes HTTP/2 et HTTP/3 est validé.

Si false alors le champ « :scheme » pour les requêtes HTTP/2 et HTTP/3 doit correspondre exactement au transport (par exemple, https pour les connexions TLS, http pour les non-TLS). Si true alors le champ « :scheme » pour les requêtes HTTP/2 et HTTP/3 peut être défini sur d’autres valeurs, ce qui sera reflété par « HttpRequest.Scheme ». Le schéma doit toujours être valide conformément à https://datatracker.ietf.org/doc/html/rfc3986/#section-3.1. Activez cette option uniquement lorsque vous utilisez un proxy approuvé. Cela peut être utilisé dans des scénarios tels que la conversion de proxys à partir d’autres protocoles. Consultez https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3. Les applications qui l’activent doivent vérifier qu’un schéma attendu est fourni avant de l’utiliser.

AllowHostHeaderOverride

Dans HTTP/1.x, quand une cible de requête est au format absolu (voir RFC 9112 Section 3.2.2), par exemple

GET http://www.example.com/path/to/index.html HTTP/1.1

l’en-tête de l’hôte est redondant. En fait, la RFC dit

Lorsqu’un serveur d’origine reçoit une requête avec une forme absolue de request-target, le serveur d’origine DOIT ignorer le champ d’en-tête hôte reçu (le cas échéant) et utiliser à la place les informations de l’hôte de la requête-cible.

Toutefois, il est toujours judicieux de case activée si la cible de la requête et l’en-tête d’hôte correspondent, car une incompatibilité peut indiquer, par exemple, une tentative d’usurpation d’identité. La définition de cette propriété sur true contourne cette case activée et remplace de manière inconditionnelle l’en-tête hôte par la valeur de la cible de la requête.

AllowResponseHeaderCompression

Obtient ou définit une valeur qui contrôle si la compression dynamique des en-têtes de réponse est autorisée. Pour plus d’informations sur les considérations de sécurité de la compression d’en-tête dynamique HPack, consultez https://tools.ietf.org/html/rfc7541#section-7.

AllowSynchronousIO

Obtient ou définit une valeur qui contrôle si les E/S synchrones sont autorisées pour et RequestResponse

ApplicationSchedulingMode

Obtient ou définit une valeur qui détermine comment Kestrel doit planifier les rappels d’utilisateurs.

ApplicationServices

Active le rappel des options d’écoute pour résoudre et utiliser les services inscrits par l’application au démarrage. Généralement initialisé par UseKestrel().

ConfigurationLoader

Fournit une source de configuration où les points de terminaison seront chargés à partir du démarrage du serveur. Par défaut, il s’agit de null.

DisableStringReuse

Obtient ou définit une valeur qui contrôle si les valeurs de chaîne matérialisées seront réutilisées entre les requêtes ; si elles correspondent, ou si les chaînes seront toujours réaffectées.

EnableAltSvc
Obsolète.

Contrôle s’il faut retourner l’en-tête « Alt-Svc » à partir d’une réponse HTTP/2 ou inférieure pour HTTP/3.

Limits

Fournit l’accès aux options de limite de requête.

RequestHeaderEncodingSelector

Obtient ou définit un rappel qui retourne le Encoding pour décoder la valeur du nom d’en-tête de requête spécifié, ou null pour utiliser la valeur par défaut UTF8Encoding.

ResponseHeaderEncodingSelector

Obtient ou définit un rappel qui retourne le Encoding pour encoder la valeur de l’en-tête de réponse ou du nom de bande-annonce spécifié, ou null pour utiliser la valeur par défaut ASCIIEncoding.

Méthodes

Configure()

Crée un chargeur de configuration pour configurer Kestrel.

Configure(IConfiguration)

Crée un chargeur de configuration pour configurer Kestrel, qui prend en entrée une IConfiguration. Cette configuration doit être limitée à la section configuration de Kestrel. Appelez Configure(IConfiguration, Boolean) pour activer les mises à jour de liaison de point de terminaison dynamique.

Configure(IConfiguration, Boolean)

Crée un chargeur de configuration pour configurer Kestrel, qui prend en entrée une IConfiguration. Cette configuration doit être limitée à la section configuration de Kestrel.

ConfigureEndpointDefaults(Action<ListenOptions>)

Spécifie une action de configuration à exécuter pour chaque point de terminaison nouvellement créé. L’appel de cette nouvelle fois remplace l’action précédente.

ConfigureHttpsDefaults(Action<HttpsConnectionAdapterOptions>)

Spécifie une action de configuration à exécuter pour chaque point de terminaison https nouvellement créé. L’appel de cette nouvelle fois remplace l’action précédente.

Listen(EndPoint)

Lier au point de terminaison donné.

Listen(EndPoint, Action<ListenOptions>)

Lier au point de terminaison donné. Le rappel configure les paramètres spécifiques au point de terminaison.

Listen(IPAddress, Int32)

Lier à l’adresse IP et au port donnés.

Listen(IPAddress, Int32, Action<ListenOptions>)

Lier à l’adresse IP et au port donnés. Le rappel configure les paramètres spécifiques au point de terminaison.

Listen(IPEndPoint)

Lier au point de terminaison IP donné.

Listen(IPEndPoint, Action<ListenOptions>)

Lier à l’adresse IP et au port donnés. Le rappel configure les paramètres spécifiques au point de terminaison.

ListenAnyIP(Int32)

Écoute toutes les adresses IP utilisant IPv6 [::] ou IPv4 0.0.0.0 si IPv6 n’est pas pris en charge.

ListenAnyIP(Int32, Action<ListenOptions>)

Écoute toutes les adresses IP utilisant IPv6 [::] ou IPv4 0.0.0.0 si IPv6 n’est pas pris en charge.

ListenHandle(UInt64)

Ouvrez un descripteur de fichier de socket.

ListenHandle(UInt64, Action<ListenOptions>)

Ouvrez un descripteur de fichier de socket. Le rappel configure les paramètres spécifiques au point de terminaison.

ListenLocalhost(Int32)

Écoute sur ::1 et 127.0.0.1 avec le port donné. La demande d’un port dynamique en spécifiant 0 n’est pas prise en charge pour ce type de point de terminaison.

ListenLocalhost(Int32, Action<ListenOptions>)

Écoute sur ::1 et 127.0.0.1 avec le port donné. La demande d’un port dynamique en spécifiant 0 n’est pas prise en charge pour ce type de point de terminaison.

ListenNamedPipe(String)

Lier au canal nommé donné.

ListenNamedPipe(String, Action<ListenOptions>)

Lier au canal nommé donné. Spécifiez le rappel pour configurer les paramètres spécifiques au point de terminaison.

ListenUnixSocket(String)

Lier au chemin de socket de domaine Unix donné.

ListenUnixSocket(String, Action<ListenOptions>)

Lier au chemin de socket de domaine Unix donné. Spécifiez le rappel pour configurer les paramètres spécifiques au point de terminaison.

Méthodes d’extension

UseSystemd(KestrelServerOptions)

Ouvrez les descripteurs de fichiers (à partir de SD_LISTEN_FDS_START) initialisés par la logique d’activation basée sur les sockets système, le cas échéant.

UseSystemd(KestrelServerOptions, Action<ListenOptions>)

Ouvrez les descripteurs de fichiers (à partir de SD_LISTEN_FDS_START) initialisés par la logique d’activation basée sur les sockets système, le cas échéant. Spécifiez le rappel pour configurer les paramètres spécifiques au point de terminaison.

S’applique à