Sdílet prostřednictvím


KestrelServerOptions Třída

Definice

Poskytuje programovou konfiguraci funkcí specifických pro Kestrel.

public ref class KestrelServerOptions
public class KestrelServerOptions
type KestrelServerOptions = class
Public Class KestrelServerOptions
Dědičnost
KestrelServerOptions

Konstruktory

KestrelServerOptions()

Poskytuje programovou konfiguraci funkcí specifických pro Kestrel.

Vlastnosti

AddServerHeader

Získá nebo nastaví, zda má být hlavička Server zahrnuta v každé odpovědi.

AllowAlternateSchemes

Získá nebo nastaví hodnotu, která řídí způsob :scheme ověření pole pro požadavky HTTP/2 a HTTP/3.

Pokud false se pak pole :scheme pro požadavky HTTP/2 a HTTP/3 musí přesně shodovat s přenosem (např. https pro připojení TLS, http pro jiné než TLS). V takovém případě true může být pole ":scheme" pro požadavky HTTP/2 a HTTP/3 nastaveno na alternativní hodnoty, což se projeví v parametru HttpRequest.Scheme. Schéma musí být stále platné podle https://datatracker.ietf.org/doc/html/rfc3986/#section-3.1. Tuto možnost povolte pouze při práci s důvěryhodným proxy serverem. To lze použít ve scénářích, jako je převod proxy z alternativních protokolů. Viz třída https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3. Aplikace, které to umožňují, by měly před použitím ověřit, že je k dispozici očekávané schéma.

AllowHostHeaderOverride

Pokud je cíl požadavku v absolutní formě (viz RFC 9112, oddíl 3.2.2), v http/1.x, například

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

Hlavička hostitele je redundantní. Ve skutečnosti RFC říká, že

Když server původu přijme požadavek s absolutní formou cíle požadavku, musí server původu ignorovat přijaté pole hlavičky hostitele (pokud existuje) a místo toho použít informace o hostiteli cíle požadavku.

Přesto je ale rozumné zkontrolovat, jestli cíl požadavku a hlavička hostitele odpovídají, protože neshoda může znamenat například pokus o falšování identity. Nastavení této vlastnosti na true obchází kontrolu a bezpodmínečně přepíše hlavičku hostitele hodnotou z cíle požadavku.

AllowResponseHeaderCompression

Získá nebo nastaví hodnotu, která řídí, zda je povolena dynamická komprese hlaviček odpovědi. Další informace o aspektech zabezpečení komprese dynamických hlaviček HPack najdete v tématu https://tools.ietf.org/html/rfc7541#section-7.

AllowSynchronousIO

Získá nebo nastaví hodnotu, která určuje, jestli je pro Request a povolená synchronní vstupně-výstupní operace. Response

ApplicationSchedulingMode

Získá nebo nastaví hodnotu, která určuje, jak Kestrel by měl naplánovat zpětná volání uživatele.

ApplicationServices

Povolí zpětné volání možností naslouchání k překladu a použití služeb registrovaných aplikací během spouštění. Obvykle inicializováno pomocí UseKestrel().

ConfigurationLoader

Poskytuje zdroj konfigurace, ze kterého se při spuštění serveru načtou koncové body. Výchozí formát je null.

DisableStringReuse

Získá nebo nastaví hodnotu, která řídí, zda řetězcové hodnoty materializované budou znovu použity napříč požadavky; pokud se shodují, nebo jestli se řetězce budou vždy znovu přidělit.

EnableAltSvc
Zastaralé.

Určuje, jestli se má vrátit hlavička Alt-Svc z odpovědi HTTP/2 nebo nižší pro HTTP/3.

Limits

Poskytuje přístup k možnostem omezení požadavků.

RequestHeaderEncodingSelector

Získá nebo nastaví zpětné volání, které vrátí Encoding k dekódování hodnoty pro zadaný název hlavičky požadavku, nebo null k použití výchozího UTF8Encoding.

ResponseHeaderEncodingSelector

Získá nebo nastaví zpětné volání, které vrátí Encoding hodnotu zakódovat pro zadanou hlavičku odpovědi nebo název přívěsu, nebo null použít výchozí ASCIIEncoding.

Metody

Configure()

Vytvoří zavaděč konfigurace pro nastavení Kestrel.

Configure(IConfiguration)

Vytvoří zavaděč konfigurace pro nastavení Kestrelu, který přijímá IConfiguration jako vstup. Tato konfigurace musí být vymezená na oddíl konfigurace pro Kestrel. Voláním Configure(IConfiguration, Boolean) povolíte aktualizace vazeb dynamických koncových bodů.

Configure(IConfiguration, Boolean)

Vytvoří zavaděč konfigurace pro nastavení Kestrelu, který přijímá IConfiguration jako vstup. Tato konfigurace musí být vymezená na oddíl konfigurace pro Kestrel.

ConfigureEndpointDefaults(Action<ListenOptions>)

Určuje akci konfigurace, která se má spustit pro každý nově vytvořený koncový bod. Opětovný voláním této metody nahradíte předchozí akci.

ConfigureHttpsDefaults(Action<HttpsConnectionAdapterOptions>)

Určuje akci konfigurace, která se má spustit pro každý nově vytvořený koncový bod https. Opětovný voláním této metody nahradíte předchozí akci.

Listen(EndPoint)

Vytvořte vazbu k danému koncovému bodu.

Listen(EndPoint, Action<ListenOptions>)

Vytvořte vazbu k danému koncovému bodu. Zpětné volání konfiguruje nastavení specifická pro koncový bod.

Listen(IPAddress, Int32)

Vytvořte vazbu na danou IP adresu a port.

Listen(IPAddress, Int32, Action<ListenOptions>)

Vytvořte vazbu na danou IP adresu a port. Zpětné volání konfiguruje nastavení specifická pro koncový bod.

Listen(IPEndPoint)

Vytvořte vazbu k danému koncovému bodu IP adresy.

Listen(IPEndPoint, Action<ListenOptions>)

Vytvořte vazbu na danou IP adresu a port. Zpětné volání konfiguruje nastavení specifická pro koncový bod.

ListenAnyIP(Int32)

Naslouchá na všech IP adresách používajících protokol IPv6 [::] nebo IPv4 0.0.0.0, pokud se protokol IPv6 nepodporuje.

ListenAnyIP(Int32, Action<ListenOptions>)

Naslouchá na všech IP adresách používajících protokol IPv6 [::] nebo IPv4 0.0.0.0, pokud se protokol IPv6 nepodporuje.

ListenHandle(UInt64)

Otevřete popisovač souboru soketu.

ListenHandle(UInt64, Action<ListenOptions>)

Otevřete popisovač souboru soketu. Zpětné volání konfiguruje nastavení specifická pro koncový bod.

ListenLocalhost(Int32)

Naslouchá na ::1 a 127.0.0.1 s daným portem. Vyžádání dynamického portu zadáním hodnoty 0 se pro tento typ koncového bodu nepodporuje.

ListenLocalhost(Int32, Action<ListenOptions>)

Naslouchá na ::1 a 127.0.0.1 s daným portem. Vyžádání dynamického portu zadáním hodnoty 0 se pro tento typ koncového bodu nepodporuje.

ListenNamedPipe(String)

Vytvořte vazbu na daný pojmenovaný kanál.

ListenNamedPipe(String, Action<ListenOptions>)

Vytvořte vazbu na daný pojmenovaný kanál. Zadáním zpětného volání nakonfigurujete nastavení specifická pro koncový bod.

ListenUnixSocket(String)

Vytvořte vazbu k dané cestě soketu domény unixového systému.

ListenUnixSocket(String, Action<ListenOptions>)

Vytvořte vazbu k dané cestě soketu domény unixového systému. Zadáním zpětného volání nakonfigurujete nastavení specifická pro koncový bod.

Metody rozšíření

UseSystemd(KestrelServerOptions)

Otevřené popisovače souborů (počínaje SD_LISTEN_FDS_START) inicializované logikou aktivace na základě systémových soketů, pokud jsou k dispozici.

UseSystemd(KestrelServerOptions, Action<ListenOptions>)

Otevřené popisovače souborů (počínaje SD_LISTEN_FDS_START) inicializované logikou aktivace na základě systémových soketů, pokud jsou k dispozici. Zadáním zpětného volání nakonfigurujete nastavení specifická pro koncový bod.

Platí pro