Поделиться через


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 тогда поле ":scheme" для запросов HTTP/2 и HTTP/3 должно точно соответствовать транспорту (например, https для tls-подключений, http для не-TLS). Если true тогда в поле ":scheme" для запросов HTTP/2 и HTTP/3 можно задать альтернативные значения, и это будет отражено в "HttpRequest.Scheme". Схема должна по-прежнему быть действительной в соответствии с https://datatracker.ietf.org/doc/html/rfc3986/#section-3.1. Этот параметр можно включать только при работе с доверенным прокси-сервером. Это можно использовать в таких сценариях, как преобразование прокси-серверов из альтернативных протоколов. См. раздел 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, исходный сервер должен игнорировать полученное поле заголовка узла (если таковой имеется) и вместо этого использовать сведения об узле объекта request-target.

Однако по-прежнему разумно проверка, совпадают ли целевой объект запроса и заголовок узла, так как несоответствие может указывать, например, на попытку спуфинга. Присвоив этому свойству значение true, проверка и безоговорочно перезаписывает заголовок Узла значением из целевого объекта запроса.

AllowResponseHeaderCompression

Возвращает или задает значение, определяющее, разрешено ли динамическое сжатие заголовков ответов. Дополнительные сведения о безопасности динамического сжатия заголовков HPack см. в разделе https://tools.ietf.org/html/rfc7541#section-7.

AllowSynchronousIO

Возвращает или задает значение, определяющее, разрешены ли синхронные операции ввода-вывода для Request и . Response

ApplicationSchedulingMode

Возвращает или задает значение, определяющее, как Kestrel должен планировать обратные вызовы пользователей.

ApplicationServices

Включает обратный вызов параметров прослушивания для разрешения и использования служб, зарегистрированных приложением во время запуска. Обычно инициализируется с помощью UseKestrel().

ConfigurationLoader

Предоставляет источник конфигурации, в который конечные точки будут загружаться при запуске сервера. Значение по умолчанию — null.

DisableStringReuse

Возвращает или задает значение, определяющее, будут ли материализованные строковые значения повторно использоваться в запросах; значение , если они совпадают, или если строки всегда будут перераспределены.

EnableAltSvc
Устаревшие..

Определяет, следует ли возвращать заголовок Alt-Svc из ответа HTTP/2 или более низкого уровня для HTTP/3.

Limits

Предоставляет доступ к параметрам ограничения запросов.

RequestHeaderEncodingSelector

Возвращает или задает обратный вызов, возвращающий Encoding для декодирования значения для указанного имени заголовка запроса или null для использования значения по умолчанию UTF8Encoding.

ResponseHeaderEncodingSelector

Возвращает или задает обратный вызов, возвращающий Encoding для кодирования значения указанного заголовка ответа или имени трейлера, или null для использования значения по умолчанию ASCIIEncoding.

Методы

Configure()

Создает загрузчик конфигурации для настройки Kestrel.

Configure(IConfiguration)

Создает загрузчик конфигурации для настройки Kestrel, который принимает IConfiguration в качестве входных данных. Эта конфигурация должна быть ограничена разделом конфигурации для Kestrel. Вызовите Configure(IConfiguration, Boolean) , чтобы включить обновления динамической привязки конечной точки.

Configure(IConfiguration, Boolean)

Создает загрузчик конфигурации для настройки Kestrel, который принимает IConfiguration в качестве входных данных. Эта конфигурация должна быть ограничена разделом конфигурации для 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)

Прослушивает все IP-адреса с использованием IPv6 [::] или IPv4 0.0.0.0, если IPv6 не поддерживается.

ListenAnyIP(Int32, Action<ListenOptions>)

Прослушивает все IP-адреса с использованием IPv6 [::] или IPv4 0.0.0.0, если IPv6 не поддерживается.

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), инициализированные логикой активации на основе системного сокета, если они доступны. Укажите обратный вызов для настройки параметров конечной точки.

Применяется к