KestrelServerOptions 類別

定義

提供 Kestrel 特定功能的程式設計設定。

public ref class KestrelServerOptions
public class KestrelServerOptions
type KestrelServerOptions = class
Public Class KestrelServerOptions
繼承
KestrelServerOptions

建構函式

KestrelServerOptions()

提供 Kestrel 特定功能的程式設計設定。

屬性

AddServerHeader

取得或設定標頭是否 Server 應該包含在每個回應中。

AllowAlternateSchemes

取得或設定值,控制如何 :scheme 驗證 HTTP/2 和 HTTP/3 要求的欄位。

如果 false 接著 HTTP/2 和 HTTP/3 要求的 ':scheme' 欄位必須與傳輸 (完全相符,例如 TLS 連線的 HTTPs、非 TLS) 的 HTTP。 如果 true 接著 HTTP/2 和 HTTP/3 要求的 ':scheme' 欄位可以設定為替代值,這會由 'HttpRequest.Scheme' 反映。 架構仍然必須根據 https://datatracker.ietf.org/doc/html/rfc3986/#section-3.1 有效。 只有在使用受信任的 Proxy 時,才啟用此功能。 這可用於從替代通訊協定轉換的 Proxy 等案例。 請參閱 https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3。 啟用此功能的應用程式應該先驗證預期的配置,再使用它。

AllowHostHeaderOverride

在 HTTP/1.x 中,當要求目標處於絕對格式時, (請參閱 RFC 9112 第 3.2.2 節) ,例如

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

主機標頭是多餘的。 事實上,RFC 顯示

當源伺服器收到具有絕對格式要求目標的要求時,如果有任何) ,則源伺服器必須忽略所接收主機標頭欄位 (,而改用 request-target 的主機資訊。

不過,檢查要求目標和主機標頭是否相符,因為不符可能表示詐騙嘗試,所以仍然合理。 將此屬性設定為 true 會略過檢查主機標頭,並以要求目標的值無條件覆寫主機標頭。

AllowResponseHeaderCompression

取得或設定值,控制是否允許動態壓縮回應標頭。 如需 HPack 動態標頭壓縮安全性考慮的詳細資訊,請流覽 https://tools.ietf.org/html/rfc7541#section-7

AllowSynchronousIO

取得或設定值,控制 是否允許 Request 和 的同步 IO Response

ApplicationSchedulingMode

取得或設定值,決定 Kestrel 應該如何排程使用者回呼。

ApplicationServices

啟用接聽選項回呼,以解析和使用應用程式在啟動期間註冊的服務。 通常由 UseKestrel () 初始化。

ConfigurationLoader

提供從伺服器啟動時載入端點的組態來源。 預設為 null

DisableStringReuse

取得或設定值,控制是否要在要求之間重複使用具體化的字串值;如果相符,則為 ,或字串一律會重新配置。

EnableAltSvc
已淘汰.

控制是否要從 HTTP/2 或較低的 HTTP/3 回應傳回 「Alt-Svc」 標頭。

Limits

提供要求限制選項的存取權。

RequestHeaderEncodingSelector

取得或設定回呼,傳回 Encoding 以解碼指定之要求標頭名稱的值,或使用 null 預設 UTF8Encoding

ResponseHeaderEncodingSelector

取得或設定回呼,傳回 Encoding 以編碼指定回應標頭或預告片名稱的值,或使用 null 預設 ASCIIEncoding

方法

Configure()

建立設定 Kestrel 的組態載入器。

Configure(IConfiguration)

建立設定載入器來設定以 IConfiguration 作為輸入的 Kestrel。 此設定的範圍必須限定為 Kestrel 的組態區段。 呼叫 Configure(IConfiguration, Boolean) 以啟用動態端點系結更新。

Configure(IConfiguration, Boolean)

建立設定載入器來設定以 IConfiguration 作為輸入的 Kestrel。 此設定的範圍必須限定為 Kestrel 的組態區段。

ConfigureEndpointDefaults(Action<ListenOptions>)

指定要針對每個新建立端點執行的組態動作。 再次呼叫此動作將會取代先前的動作。

ConfigureHttpsDefaults(Action<HttpsConnectionAdapterOptions>)

指定要針對每個新建立的 HTTPs 端點執行的組態動作。 再次呼叫此動作將會取代先前的動作。

Listen(EndPoint)

系結至指定的端點。

Listen(EndPoint, Action<ListenOptions>)

系結至指定的端點。 回呼會設定端點特定的設定。

Listen(IPAddress, Int32)

系結至指定的 IP 位址和埠。

Listen(IPAddress, Int32, Action<ListenOptions>)

系結至指定的 IP 位址和埠。 回呼會設定端點特定的設定。

Listen(IPEndPoint)

系結至指定的 IP 端點。

Listen(IPEndPoint, Action<ListenOptions>)

系結至指定的 IP 位址和埠。 回呼會設定端點特定的設定。

ListenAnyIP(Int32)

如果不支援 IPv6,請使用 IPv6 [::],或 IPv4 0.0.0.0 接聽所有 IP。

ListenAnyIP(Int32, Action<ListenOptions>)

如果不支援 IPv6,請使用 IPv6 [::],或 IPv4 0.0.0.0 接聽所有 IP。

ListenHandle(UInt64)

開啟通訊端檔案描述元。

ListenHandle(UInt64, Action<ListenOptions>)

開啟通訊端檔案描述元。 回呼會設定端點特定的設定。

ListenLocalhost(Int32)

使用指定的埠接聽 ::1 和 127.0.0.1。 此端點類型不支援指定 0 來要求動態埠。

ListenLocalhost(Int32, Action<ListenOptions>)

使用指定的埠接聽 ::1 和 127.0.0.1。 此端點類型不支援指定 0 來要求動態埠。

ListenNamedPipe(String)

系結至指定的具名管道。

ListenNamedPipe(String, Action<ListenOptions>)

系結至指定的具名管道。 指定回呼以設定端點特定的設定。

ListenUnixSocket(String)

系結至指定的 Unix 網域通訊端路徑。

ListenUnixSocket(String, Action<ListenOptions>)

系結至指定的 Unix 網域通訊端路徑。 指定回呼以設定端點特定的設定。

擴充方法

UseSystemd(KestrelServerOptions)

開啟檔案描述元 (,從系統通訊端型啟用邏輯初始化SD_LISTEN_FDS_START) 可用。

UseSystemd(KestrelServerOptions, Action<ListenOptions>)

開啟檔案描述元 (,從系統通訊端型啟用邏輯初始化SD_LISTEN_FDS_START) 可用。 指定回呼以設定端點特定的設定。

適用於