Condividi tramite


KestrelServerOptions Classe

Definizione

Fornisce la configurazione a livello di codice delle funzionalità specifiche di Kestrel.

public ref class KestrelServerOptions
public class KestrelServerOptions
type KestrelServerOptions = class
Public Class KestrelServerOptions
Ereditarietà
KestrelServerOptions

Costruttori

KestrelServerOptions()

Fornisce la configurazione a livello di codice delle funzionalità specifiche di Kestrel.

Proprietà

AddServerHeader

Ottiene o imposta un valore che indica se l'intestazione Server deve essere inclusa in ogni risposta.

AllowAlternateSchemes

Ottiene o imposta un valore che controlla la modalità di convalida del :scheme campo per le richieste HTTP/2 e HTTP/3.

Se false il campo ':scheme' per le richieste HTTP/2 e HTTP/3 deve corrispondere esattamente al trasporto (ad esempio https per le connessioni TLS, http per non TLS). Se true il campo ':scheme' per le richieste HTTP/2 e HTTP/3 può essere impostato su valori alternativi e questo valore verrà riflesso da 'HttpRequest.Scheme'. Lo schema deve essere ancora valido in base a https://datatracker.ietf.org/doc/html/rfc3986/#section-3.1. Abilitare questa opzione solo quando si usa un proxy attendibile. Questa opzione può essere usata in scenari come i proxy che eseguono la conversione da protocolli alternativi. Vedere https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3. Le applicazioni che abilitano questa operazione devono convalidare che venga fornito uno schema previsto prima di usarlo.

AllowHostHeaderOverride

In HTTP/1.x, quando una destinazione della richiesta è in formato assoluto (vedere ad esempio RFC 9112 Sezione 3.2.2),

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

l'intestazione host è ridondante. Infatti, il RFC dice

Quando un server di origine riceve una richiesta con una forma assoluta di destinazione richiesta, il server di origine DEVE ignorare il campo di intestazione host ricevuto (se presente) e usare invece le informazioni host della destinazione richiesta.

Tuttavia, è comunque opportuno verificare se la destinazione della richiesta e l'intestazione host corrispondono perché una mancata corrispondenza potrebbe indicare, ad esempio, un tentativo di spoofing. L'impostazione di questa proprietà su true ignora tale controllo e sovrascrive in modo condizionale l'intestazione Host con il valore della destinazione della richiesta.

AllowResponseHeaderCompression

Ottiene o imposta un valore che controlla se è consentita la compressione dinamica delle intestazioni di risposta. Per altre informazioni sulle considerazioni sulla sicurezza della compressione dell'intestazione dinamica HPack, vedere https://tools.ietf.org/html/rfc7541#section-7.

AllowSynchronousIO

Ottiene o imposta un valore che controlla se l'I Request /O sincrono è consentito per e Response

ApplicationSchedulingMode

Ottiene o imposta un valore che determina il modo in cui Kestrel deve pianificare i callback utente.

ApplicationServices

Consente al callback delle opzioni di ascolto di risolvere e usare i servizi registrati dall'applicazione durante l'avvio. In genere inizializzato da UseKestrel().

ConfigurationLoader

Fornisce un'origine di configurazione in cui gli endpoint verranno caricati dall'avvio del server. Il valore predefinito è null.

DisableStringReuse

Ottiene o imposta un valore che controlla se i valori stringa materializzati verranno riutilizzati tra le richieste; se corrispondono o se le stringhe verranno sempre riallocate.

EnableAltSvc
Obsoleti.

Controlla se restituire l'intestazione "Alt-Svc" da una risposta HTTP/2 o inferiore per HTTP/3.

Limits

Fornisce l'accesso alle opzioni di limite delle richieste.

RequestHeaderEncodingSelector

Ottiene o imposta un callback che restituisce per Encoding decodificare il valore per il nome dell'intestazione della richiesta specificata oppure null per utilizzare l'oggetto predefinito UTF8Encoding.

ResponseHeaderEncodingSelector

Ottiene o imposta un callback che restituisce per Encoding codificare il valore per l'intestazione di risposta o il nome del trailer specificato oppure null per utilizzare l'oggetto predefinito ASCIIEncoding.

Metodi

Configure()

Crea un caricatore di configurazione per la configurazione di Kestrel.

Configure(IConfiguration)

Crea un loader di configurazione per la configurazione di Kestrel che accetta un elemento IConfiguration come input. Questa configurazione deve avere come ambito la sezione di configurazione di Kestrel. Chiamare Configure(IConfiguration, Boolean) per abilitare gli aggiornamenti dell'associazione di endpoint dinamici.

Configure(IConfiguration, Boolean)

Crea un loader di configurazione per la configurazione di Kestrel che accetta un elemento IConfiguration come input. Questa configurazione deve avere come ambito la sezione di configurazione di Kestrel.

ConfigureEndpointDefaults(Action<ListenOptions>)

Specifica un'azione di configurazione da eseguire per ogni endpoint appena creato. Se si chiama di nuovo, l'azione precedente verrà sostituita.

ConfigureHttpsDefaults(Action<HttpsConnectionAdapterOptions>)

Specifica un'azione di configurazione da eseguire per ogni endpoint https appena creato. Se si chiama di nuovo, l'azione precedente verrà sostituita.

Listen(EndPoint)

Eseguire l'associazione all'endpoint specificato.

Listen(EndPoint, Action<ListenOptions>)

Eseguire l'associazione all'endpoint specificato. Il callback configura le impostazioni specifiche dell'endpoint.

Listen(IPAddress, Int32)

Eseguire l'associazione all'indirizzo IP e alla porta specificati.

Listen(IPAddress, Int32, Action<ListenOptions>)

Eseguire l'associazione all'indirizzo IP e alla porta specificati. Il callback configura le impostazioni specifiche dell'endpoint.

Listen(IPEndPoint)

Eseguire l'associazione all'endpoint IP specificato.

Listen(IPEndPoint, Action<ListenOptions>)

Eseguire l'associazione all'indirizzo IP e alla porta specificati. Il callback configura le impostazioni specifiche dell'endpoint.

ListenAnyIP(Int32)

È in ascolto su tutti gli indirizzi IP che usano IPv6 [::]o IPv4 0.0.0.0 se IPv6 non è supportato.

ListenAnyIP(Int32, Action<ListenOptions>)

È in ascolto su tutti gli indirizzi IP che usano IPv6 [::]o IPv4 0.0.0.0 se IPv6 non è supportato.

ListenHandle(UInt64)

Aprire un descrittore di file socket.

ListenHandle(UInt64, Action<ListenOptions>)

Aprire un descrittore di file socket. Il callback configura le impostazioni specifiche dell'endpoint.

ListenLocalhost(Int32)

È in ascolto su ::1 e 127.0.0.1 con la porta specificata. La richiesta di una porta dinamica specificando 0 non è supportata per questo tipo di endpoint.

ListenLocalhost(Int32, Action<ListenOptions>)

È in ascolto su ::1 e 127.0.0.1 con la porta specificata. La richiesta di una porta dinamica specificando 0 non è supportata per questo tipo di endpoint.

ListenNamedPipe(String)

Eseguire l'associazione alla named pipe specificata.

ListenNamedPipe(String, Action<ListenOptions>)

Eseguire l'associazione alla named pipe specificata. Specificare il callback per configurare le impostazioni specifiche dell'endpoint.

ListenUnixSocket(String)

Eseguire l'associazione al percorso del socket di dominio Unix specificato.

ListenUnixSocket(String, Action<ListenOptions>)

Eseguire l'associazione al percorso del socket di dominio Unix specificato. Specificare il callback per configurare le impostazioni specifiche dell'endpoint.

Metodi di estensione

UseSystemd(KestrelServerOptions)

Aprire descrittori di file (a partire da SD_LISTEN_FDS_START) inizializzati dalla logica di attivazione basata su socket systemd, se disponibile.

UseSystemd(KestrelServerOptions, Action<ListenOptions>)

Aprire descrittori di file (a partire da SD_LISTEN_FDS_START) inizializzati dalla logica di attivazione basata su socket systemd, se disponibile. Specificare il callback per configurare le impostazioni specifiche dell'endpoint.

Si applica a