KestrelServerOptions Clase

Definición

Proporciona configuración mediante programación de características específicas de Kestrel.

public ref class KestrelServerOptions
public class KestrelServerOptions
type KestrelServerOptions = class
Public Class KestrelServerOptions
Herencia
KestrelServerOptions

Constructores

KestrelServerOptions()

Proporciona configuración mediante programación de características específicas de Kestrel.

Propiedades

AddServerHeader

Obtiene o establece si el Server encabezado debe incluirse en cada respuesta.

AllowAlternateSchemes

Obtiene o establece un valor que controla cómo se valida el :scheme campo de las solicitudes HTTP/2 y HTTP/3.

Si false , a continuación, el campo ":scheme" para las solicitudes HTTP/2 y HTTP/3 deben coincidir exactamente con el transporte (por ejemplo, https para las conexiones TLS, http para no TLS). Si true el campo ":scheme" para las solicitudes HTTP/2 y HTTP/3 se puede establecer en valores alternativos y esto se reflejará mediante "HttpRequest.Scheme". El esquema debe seguir siendo válido según https://datatracker.ietf.org/doc/html/rfc3986/#section-3.1. Habilite esto solo cuando trabaje con un proxy de confianza. Esto se puede usar en escenarios como la conversión de servidores proxy a partir de protocolos alternativos. Vea https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3. Las aplicaciones que habilitan esto deben validar que se proporciona un esquema esperado antes de usarlo.

AllowHostHeaderOverride

En HTTP/1.x, cuando un destino de solicitud está en forma absoluta (vea RFC 9112 Sección 3.2.2), por ejemplo

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

el encabezado Host es redundante. De hecho, el RFC dice

Cuando un servidor de origen recibe una solicitud con una forma absoluta de destino de solicitud, el servidor de origen DEBE omitir el campo de encabezado host recibido (si existe) y, en su lugar, usar la información de host del destino de solicitud.

Sin embargo, sigue siendo razonable comprobar si el destino de la solicitud y el encabezado host coinciden porque una falta de coincidencia podría indicar, por ejemplo, un intento de suplantación de identidad. Al establecer esta propiedad en true, se omite que comprueba e sobrescribe incondicionalmente el encabezado Host con el valor del destino de la solicitud.

AllowResponseHeaderCompression

Obtiene o establece un valor que controla si se permite la compresión dinámica de encabezados de respuesta. Para obtener más información sobre las consideraciones de seguridad de la compresión de encabezado dinámico de HPack, visite https://tools.ietf.org/html/rfc7541#section-7.

AllowSynchronousIO

Obtiene o establece un valor que controla si se permite la E/S sincrónica para y RequestResponse

ApplicationSchedulingMode

Obtiene o establece un valor que determina cómo Kestrel debe programar devoluciones de llamada de usuario.

ApplicationServices

Habilita la devolución de llamada de las opciones de escucha para resolver y usar los servicios registrados por la aplicación durante el inicio. Normalmente se inicializa mediante UseKestrel().

ConfigurationLoader

Proporciona un origen de configuración desde el que se cargarán los puntos de conexión desde el inicio del servidor. El valor predeterminado es null.

DisableStringReuse

Obtiene o establece un valor que controla si los valores de cadena materializados se reutilizarán en las solicitudes; si coinciden o si las cadenas siempre se reasignarán.

EnableAltSvc
Obsoletos.

Controla si se va a devolver el encabezado "Alt-Svc" de una respuesta HTTP/2 o inferior para HTTP/3.

Limits

Proporciona acceso a las opciones de límite de solicitudes.

RequestHeaderEncodingSelector

Obtiene o establece una devolución de llamada que devuelve para Encoding descodificar el valor del nombre del encabezado de solicitud especificado o null para usar el valor predeterminado UTF8Encoding.

ResponseHeaderEncodingSelector

Obtiene o establece una devolución de llamada que devuelve para Encoding codificar el valor del encabezado de respuesta o el nombre del finalizador especificados, o null para usar el valor predeterminado ASCIIEncoding.

Métodos

Configure()

Crea un cargador de configuración para configurar Kestrel.

Configure(IConfiguration)

Crea un cargador de configuración para configurar Kestrel que toma una IConfiguration como entrada. Esta configuración debe tener como ámbito la sección de configuración de Kestrel. Llame Configure(IConfiguration, Boolean) a para habilitar las actualizaciones de enlace de puntos de conexión dinámicos.

Configure(IConfiguration, Boolean)

Crea un cargador de configuración para configurar Kestrel que toma una IConfiguration como entrada. Esta configuración debe tener como ámbito la sección de configuración de Kestrel.

ConfigureEndpointDefaults(Action<ListenOptions>)

Especifica una acción de configuración que se va a ejecutar para cada punto de conexión recién creado. Al llamar a esto de nuevo, se reemplazará la acción anterior.

ConfigureHttpsDefaults(Action<HttpsConnectionAdapterOptions>)

Especifica una acción de configuración que se va a ejecutar para cada punto de conexión https recién creado. Al llamar a esto de nuevo, se reemplazará la acción anterior.

Listen(EndPoint)

Enlazar al punto de conexión especificado.

Listen(EndPoint, Action<ListenOptions>)

Enlazar al punto de conexión especificado. La devolución de llamada configura las opciones específicas del punto de conexión.

Listen(IPAddress, Int32)

Enlazar con la dirección IP y el puerto especificados.

Listen(IPAddress, Int32, Action<ListenOptions>)

Enlazar con la dirección IP y el puerto especificados. La devolución de llamada configura las opciones específicas del punto de conexión.

Listen(IPEndPoint)

Enlace al punto de conexión IP especificado.

Listen(IPEndPoint, Action<ListenOptions>)

Enlazar con la dirección IP y el puerto especificados. La devolución de llamada configura las opciones específicas del punto de conexión.

ListenAnyIP(Int32)

Escucha en todas las direcciones IP mediante IPv6 [::] o IPv4 0.0.0.0 si no se admite IPv6.

ListenAnyIP(Int32, Action<ListenOptions>)

Escucha en todas las direcciones IP mediante IPv6 [::] o IPv4 0.0.0.0 si no se admite IPv6.

ListenHandle(UInt64)

Abra un descriptor de archivo de socket.

ListenHandle(UInt64, Action<ListenOptions>)

Abra un descriptor de archivo de socket. La devolución de llamada configura las opciones específicas del punto de conexión.

ListenLocalhost(Int32)

Escucha en ::1 y 127.0.0.1 con el puerto especificado. No se admite la solicitud de un puerto dinámico especificando 0 para este tipo de punto de conexión.

ListenLocalhost(Int32, Action<ListenOptions>)

Escucha en ::1 y 127.0.0.1 con el puerto especificado. No se admite la solicitud de un puerto dinámico especificando 0 para este tipo de punto de conexión.

ListenNamedPipe(String)

Enlazar a la canalización con nombre especificada.

ListenNamedPipe(String, Action<ListenOptions>)

Enlazar a la canalización con nombre especificada. Especifique la devolución de llamada para configurar las opciones específicas del punto de conexión.

ListenUnixSocket(String)

Enlace a la ruta de acceso del socket de dominio de Unix especificada.

ListenUnixSocket(String, Action<ListenOptions>)

Enlace a la ruta de acceso del socket de dominio de Unix especificada. Especifique la devolución de llamada para configurar las opciones específicas del punto de conexión.

Métodos de extensión

UseSystemd(KestrelServerOptions)

Abra descriptores de archivo (a partir de SD_LISTEN_FDS_START) inicializados por la lógica de activación basada en sockets del sistema si está disponible.

UseSystemd(KestrelServerOptions, Action<ListenOptions>)

Abra descriptores de archivo (a partir de SD_LISTEN_FDS_START) inicializados por la lógica de activación basada en sockets del sistema si está disponible. Especifique la devolución de llamada para configurar las opciones específicas del punto de conexión.

Se aplica a