Partilhar via


KestrelServerOptions Classe

Definição

Fornece configuração programática de recursos específicos do Kestrel.

public ref class KestrelServerOptions
public class KestrelServerOptions
type KestrelServerOptions = class
Public Class KestrelServerOptions
Herança
KestrelServerOptions

Construtores

KestrelServerOptions()

Fornece configuração programática de recursos específicos do Kestrel.

Propriedades

AddServerHeader

Obtém ou define se o Server cabeçalho deve ser incluído em cada resposta.

AllowAlternateSchemes

Obtém ou define um valor que controla como o :scheme campo para solicitações HTTP/2 e HTTP/3 é validado.

Se false o campo ':scheme' para solicitações HTTP/2 e HTTP/3 precisar corresponder exatamente ao transporte (por exemplo, https para conexões TLS, http para não TLS). Se true o campo ':scheme' para solicitações HTTP/2 e HTTP/3 puder ser definido como valores alternativos, isso será refletido por 'HttpRequest.Scheme'. O Esquema ainda deve ser válido de acordo https://datatracker.ietf.org/doc/html/rfc3986/#section-3.1com . Habilite isso somente ao trabalhar com um proxy confiável. Isso pode ser usado em cenários como proxies que convertem de protocolos alternativos. Consulte https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3. Os aplicativos que habilitam isso devem validar se um esquema esperado é fornecido antes de usá-lo.

AllowHostHeaderOverride

Em HTTP/1.x, quando um destino de solicitação está em forma absoluta (consulte RFC 9112 Seção 3.2.2), por exemplo

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

o cabeçalho host é redundante. Na verdade, o RFC diz

Quando um servidor de origem recebe uma solicitação com uma forma absoluta de request-target, o servidor de origem DEVE ignorar o campo de cabeçalho host recebido (se houver) e, em vez disso, usar as informações de host do destino da solicitação.

No entanto, ainda é sensato marcar se o destino da solicitação e o cabeçalho do host correspondem porque uma incompatibilidade pode indicar, por exemplo, uma tentativa de falsificação. Definir essa propriedade como true ignora que marcar e substitui incondicionalmente o cabeçalho Host pelo valor do destino da solicitação.

AllowResponseHeaderCompression

Obtém ou define um valor que controla se a compactação dinâmica de cabeçalhos de resposta é permitida. Para obter mais informações sobre as considerações de segurança da compactação de cabeçalho dinâmico HPack, visite https://tools.ietf.org/html/rfc7541#section-7.

AllowSynchronousIO

Obtém ou define um valor que controla se a E/S síncrona é permitida para o Request e Response

ApplicationSchedulingMode

Obtém ou define um valor que determina como o Kestrel deve agendar retornos de chamada do usuário.

ApplicationServices

Habilita o retorno de chamada de opções de escuta para resolve e usar serviços registrados pelo aplicativo durante a inicialização. Normalmente inicializado por UseKestrel().

ConfigurationLoader

Fornece uma fonte de configuração na qual os pontos de extremidade serão carregados no início do servidor. O padrão é null.

DisableStringReuse

Obtém ou define um valor que controla se os valores de cadeia de caracteres materializados serão reutilizados entre solicitações; se corresponderem ou se as cadeias de caracteres sempre serão realocadas.

EnableAltSvc
Obsoleto.

Controla se o cabeçalho "Alt-Svc" deve ser retornado de uma resposta HTTP/2 ou inferior para HTTP/3.

Limits

Fornece acesso às opções de limite de solicitação.

RequestHeaderEncodingSelector

Obtém ou define um retorno de chamada que retorna o Encoding para decodificar o valor do nome do cabeçalho de solicitação especificado ou null para usar o padrão UTF8Encoding.

ResponseHeaderEncodingSelector

Obtém ou define um retorno de chamada que retorna o Encoding para codificar o valor para o cabeçalho de resposta especificado ou o nome do trailer, ou null para usar o padrão ASCIIEncoding.

Métodos

Configure()

Cria um carregador de configuração para configurar o Kestrel.

Configure(IConfiguration)

Cria um carregador de configuração para configurar o Kestrel que usa uma IConfiguration como entrada. Essa configuração deve ter o escopo definido para a seção de configuração do Kestrel. Chame Configure(IConfiguration, Boolean) para habilitar atualizações dinâmicas de associação de ponto de extremidade.

Configure(IConfiguration, Boolean)

Cria um carregador de configuração para configurar o Kestrel que usa uma IConfiguration como entrada. Essa configuração deve ter o escopo definido para a seção de configuração do Kestrel.

ConfigureEndpointDefaults(Action<ListenOptions>)

Especifica uma ação de configuração a ser executada para cada ponto de extremidade recém-criado. Chamar isso novamente substituirá a ação anterior.

ConfigureHttpsDefaults(Action<HttpsConnectionAdapterOptions>)

Especifica uma ação de configuração a ser executada para cada ponto de extremidade https recém-criado. Chamar isso novamente substituirá a ação anterior.

Listen(EndPoint)

Associar ao ponto de extremidade determinado.

Listen(EndPoint, Action<ListenOptions>)

Associar ao ponto de extremidade determinado. O retorno de chamada define as configurações específicas do ponto de extremidade.

Listen(IPAddress, Int32)

Associar ao endereço IP e à porta especificados.

Listen(IPAddress, Int32, Action<ListenOptions>)

Associar ao endereço IP e à porta especificados. O retorno de chamada define as configurações específicas do ponto de extremidade.

Listen(IPEndPoint)

Associar ao ponto de extremidade IP especificado.

Listen(IPEndPoint, Action<ListenOptions>)

Associar ao endereço IP e à porta especificados. O retorno de chamada define as configurações específicas do ponto de extremidade.

ListenAnyIP(Int32)

Escuta em todos os IPs usando IPv6 [::]ou IPv4 0.0.0.0 se não houver suporte para IPv6.

ListenAnyIP(Int32, Action<ListenOptions>)

Escuta em todos os IPs usando IPv6 [::]ou IPv4 0.0.0.0 se não houver suporte para IPv6.

ListenHandle(UInt64)

Abra um descritor de arquivo de soquete.

ListenHandle(UInt64, Action<ListenOptions>)

Abra um descritor de arquivo de soquete. O retorno de chamada define as configurações específicas do ponto de extremidade.

ListenLocalhost(Int32)

Escuta em ::1 e 127.0.0.1 com a porta fornecida. Não há suporte para a solicitação de uma porta dinâmica especificando 0 para esse tipo de ponto de extremidade.

ListenLocalhost(Int32, Action<ListenOptions>)

Escuta em ::1 e 127.0.0.1 com a porta fornecida. Não há suporte para a solicitação de uma porta dinâmica especificando 0 para esse tipo de ponto de extremidade.

ListenNamedPipe(String)

Associar ao pipe nomeado especificado.

ListenNamedPipe(String, Action<ListenOptions>)

Associar ao pipe nomeado especificado. Especifique o retorno de chamada para definir as configurações específicas do ponto de extremidade.

ListenUnixSocket(String)

Associar ao caminho de soquete de domínio do Unix fornecido.

ListenUnixSocket(String, Action<ListenOptions>)

Associar ao caminho de soquete de domínio do Unix fornecido. Especifique o retorno de chamada para definir as configurações específicas do ponto de extremidade.

Métodos de Extensão

UseSystemd(KestrelServerOptions)

Abra descritores de arquivo (a partir de SD_LISTEN_FDS_START) inicializados pela lógica de ativação baseada em soquete do sistema, se disponível.

UseSystemd(KestrelServerOptions, Action<ListenOptions>)

Abra descritores de arquivo (a partir de SD_LISTEN_FDS_START) inicializados pela lógica de ativação baseada em soquete do sistema, se disponível. Especifique o retorno de chamada para definir as configurações específicas do ponto de extremidade.

Aplica-se a