語言

KestrelServerOptions 類別

定義

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

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

建構函式

名稱 Description
KestrelServerOptions()

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

屬性

名稱 Description
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 。

方法

名稱 Description
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 網域通訊端路徑。 指定回呼以設定端點特定的設定。

擴充方法

名稱 Description
UseSystemd(KestrelServerOptions)

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

UseSystemd(KestrelServerOptions, Action<ListenOptions>)

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

適用於