Compartilhar via


Classe ProcessModelSection

Define as configurações do modelo de processo do ASP.NET em um servidor Web que executa o IIS.

Sintaxe

class ProcessModelSection : ConfigurationSection  

Métodos

A tabela a seguir lista os métodos expostos pela classe ProcessModelSection.

Nome Descrição
GetAllowDefinition (Herdado de ConfigurationSection.)
GetAllowLocation (Herdado de ConfigurationSection.)
RevertToParent (Herdado de ConfigurationSection.)
SetAllowDefinition (Herdado de ConfigurationSection.)
SetAllowLocation (Herdado de ConfigurationSection.)

Propriedades

A tabela a seguir lista as propriedades expostas pela classe ProcessModelSection.

Nome Descrição
AutoConfig Um valor boolean de leitura/gravação. true se o ASP.NET configura automaticamente determinados atributos para obter o desempenho ideal baseado na configuração do computador; false se o ASP.NET usa os valores explicitamente definidos para os atributos. O padrão é false. Os atributos configurados são listados posteriormente na seção Comentários. Observação: esses atributos afetam apenas os aplicativos do ASP.NET, não os aplicativos cliente do .NET Framework. Observação: o padrão dessa propriedade no arquivo Machine.config é true, que substituirá as configurações em arquivos de configuração inferiores. Se você remover a entrada autoConfig de Machine.config, o padrão será revertido para false.
ClientConnectedCheck Um valor de leitura/gravação datetime que especifica por quanto tempo uma solicitação é deixada na fila antes que o ASP.NET faça uma verificação para determinar se o cliente está conectado. O padrão é 5 segundos.
ComAuthenticationLevel Um valor de leitura/gravação sint32 que especifica o nível de autenticação para a segurança DCOM. Os valores possíveis estão listados posteriormente na seção Comentários.
ComImpersonationLevel Um valor de leitura/gravação sint32 que especifica o nível de autenticação para a segurança COM. Os valores possíveis estão listados posteriormente na seção Comentários.
CpuMask Um valor de leitura/gravação sint32 que especifica quais processadores (CPUs) em um servidor multiprocessador estão qualificados para executar processos do ASP.NET. O padrão é 0xffffffff.

Esse valor especifica um padrão de bit que indica as CPUs qualificadas para executar threads do ASP.NET. Por exemplo, o valor hexadecimal 0x0d representa o padrão de bit 1101. Em um computador com quatro CPUs, isso indica que os processos do ASP.NET podem ser agendados nas CPUs 0, 2 e 3, mas não na CPU 1. O ASP.NET inicia um processo de trabalho para cada CPU qualificada. Se a propriedade WebGarden for true, CpuMask limitará os processos de trabalho ao número de CPUs qualificadas. O número máximo de processos de trabalho é igual ao número de CPUs. Se a propriedade WebGarden for false (o valor padrão), CpuMask será ignorado e somente um processo de trabalho será executado.
Enable Um valor boolean de leitura/gravação. true se o modelo do processo estiver habilitado; caso contrário, false. O padrão é true.
IdleTimeout Um valor datetime de leitura/gravação que especifica o período de inatividade após o qual o ASP.NET automaticamente termina o processo de trabalho. O padrão é infinito.
Location (Herdado de ConfigurationSection.) Uma propriedade de chave.
LogLevel Um valor sint32 de leitura/gravação que especifica tipos de eventos a serem gravados no log de eventos. Os valores possíveis estão listados posteriormente na seção Comentários.
MaxAppDomains Um valor sint32 de leitura/gravação que especifica o número máximo de domínios do aplicativo permitidos em um processo. Esse atributo deve ser menor ou igual a 2000. O padrão é 2000.
MaxIOThreads Um valor sint32 de leitura/gravação que especifica o número máximo de threads de E/S (de 5 a 100) a serem usados no processo por CPU. O padrão é 20.

Por exemplo, se esse valor for 25 em um servidor de processador único, o ASP.NET definirá o limite do processo como 25. Em um servidor de dois processadores, o ASP.NET define o limite como 50. O valor dessa propriedade deve ser igual ou maior que a propriedade MinFreeThread da classe HttpRuntimeSection.
MaxWorkerThreads Um valor sint32 de leitura/gravação que especifica o número máximo de threads de trabalho (de 5 a 100) a serem usados no processo por CPU. O padrão é 20.

Por exemplo, se esse valor for 25 em um servidor de processador único, o ASP.NET usará as APIs de runtime para definir o limite do processo como 25. Em um servidor de dois processadores, o ASP.NET define o limite como 50. O valor dessa propriedade deve ser igual ou maior que a propriedade MinFreeThread da classe HttpRuntimeSection.
MemoryLimit Um valor sint32 de leitura/gravação que especifica o tamanho máximo de memória permitido, como uma porcentagem da memória total do sistema, que o processo de trabalho pode consumir antes que o ASP.NET inicie um novo processo e reatribua solicitações existentes. O padrão é 60.
MinIOThreads Um valor sint32 de leitura/gravação que especifica o número mínimo de threads de E/S a serem usados no processo por CPU. O padrão é 1.
MinWorkerThreads Um valor sint32 de leitura/gravação que especifica o número máximo de threads de trabalho a serem usados no processo por CPU. O padrão é 1.
Password Um valor string de leitura/gravação (se presente) que faz com que, junto com a propriedade UserName, o processo de trabalho seja executado com a identidade configurada do Microsoft Windows. O padrão é "AutoGenerate". Observação: consulte a propriedade UserName para obter mais informações sobre os nomes especiais "Sistema" e "Máquina", que não exigem uma senha, e para obter informações sobre como armazenar credenciais criptografadas do processo de trabalho no Registro.
Path (Herdado de ConfigurationSection.) Uma propriedade de chave.
PingFrequency Um valor datetime de leitura/gravação que especifica o intervalo de tempo no qual a extensão ISAPI executa ping no processo de trabalho para determinar se o processo está em execução. O padrão é infinito.

Se o processo de trabalho não responder no intervalo especificado pela propriedade PingTimeout, ele será reiniciado.
PingTimeout Um valor datetime de leitura/gravação que especifica o intervalo de tempo após o qual um processo de trabalho que parou de responder é reiniciado. O padrão é infinito.

As extensões ISAPI executam ping no processo de trabalho no intervalo especificado pela propriedade PingFrequency. Se o processo de trabalho não responder no intervalo especificado pela propriedade PingTimeout, ele será reiniciado.
RequestLimit Um valor sint32 de leitura/gravação que especifica o número de solicitações permitidas antes que o ASP.NET inicie automaticamente um novo processo de trabalho para substituir o atual. O padrão é 2147483647.
RequestQueueLimit Um valor sint32 de leitura/gravação que especifica o número de solicitações permitidas na fila antes que o ASP.NET retorne a mensagem "503 – Servidor muito ocupado" para novas solicitações. O padrão é 5000.
ResponseDeadlockInterval Um valor datetime de leitura/gravação que especifica o intervalo de tempo após o qual o processo é reiniciado caso existam solicitações enfileiradas e não haja uma resposta durante o intervalo especificado. O padrão é 3 minutos.
ResponseRestartDeadlockInterval Um valor datetime de leitura/gravação, fornecido para compatibilidade com versões anteriores, que especifica o intervalo de tempo após o qual o processo é reiniciado caso existam solicitações enfileiradas e não haja uma resposta durante o intervalo especificado. O padrão é 3 minutos. Observação: o ASP.NET não usa mais essa propriedade; ela é fornecida apenas para compatibilidade com versões anteriores. Essa propriedade não causará um erro de configuração se já estiver presente em um arquivo de configuração. A propriedade ResponseDeadlockInterval agora controla a reinicialização de processos de deadlock.
RestartQueueLimit Um valor sint32 de leitura/gravação que especifica o número máximo de solicitações que o IIS enfileira enquanto aguarda a reinicialização do processo de trabalho após um encerramento não padrão. Essa configuração não se aplica a um desligamento normal ou uma reinicialização padrão. O padrão é 10.
SectionInformation (Herdado de ConfigurationSection.)
ServerErrorMessageFile Um valor string de leitura/gravação que especifica o conteúdo de um arquivo a ser usado em vez da mensagem padrão "Servidor indisponível" caso um servidor pare de responder inesperadamente. O local do arquivo é relativo ao arquivo Machine.config ou pode ser um caminho absoluto. Se você não especificar esse valor de propriedade, o IIS usará a mensagem padrão "Servidor indisponível".
ShutdownTimeout Um valor datetime de leitura/gravação que especifica a quantidade de tempo permitida para o processo de trabalho ser encerrado. O padrão é 5 segundos. Quando o tempo limite expira, o ASP.NET encerra o processo de trabalho.
Timeout Um valor datetime de leitura/gravação que especifica o número de minutos até que o ASP.NET inicie um novo processo de trabalho para substituir o atual. O padrão é infinito.
UserName Um valor string de leitura/gravação que especifica que o ASP.NET executará o processo de trabalho com uma identidade do Windows diferente da identidade de processo padrão. O padrão é "Computador". Por padrão, o processo é executado com uma conta de usuário e senha que são criadas automaticamente quando o ASP.NET é instalado. A conta de usuário é ASPNET, e a senha é gerada criptograficamente.

Se credenciais válidas forem apresentadas nas propriedades UserName e Password, o processo será executado com a conta fornecida. Se o valor UserName for "Sistema" e o valor Password for "AutoGenerate", o processo será executado com permissões administrativas completas para todo o código do ASP.NET que usa o processo. Observação: os valores dessa propriedade e da propriedade Password são armazenados em texto não criptografado no arquivo de configuração. Embora o IIS não transmita arquivos .config em resposta a uma solicitação do agente do usuário, os arquivos de configuração podem ser lidos de outras maneiras. Por exemplo, um usuário autenticado que tenha as credenciais necessárias no domínio para o servidor pode ler um arquivo de configuração. Por motivos de segurança, a classe ProcessModelSection oferece suporte ao armazenamento das propriedades criptografadas UserName e Password no Registro. Para obter mais informações, consulte Elemento processModel (Esquema de Configurações do ASP.NET).
WebGarden Um valor boolean de leitura/gravação. true se a propriedade CpuMask for usada para especificar quais CPUs estão qualificadas para executar processos do ASP.NET; false se apenas um processo de trabalho for executado e o uso da CPU for agendado pelo sistema operacional Windows. O padrão é false. Observação: um servidor Web multiprocessador é chamado de Web garden.

Subclasses

Essa classe não contém subclasses.

Comentários

A seção <processModel> pode ser definida somente no arquivo Machine.config e afeta todos os aplicativos do ASP.NET que estão sendo executados no servidor.

Observação

As alterações na classe ProcessModelSection entram em vigor somente quando o processo de trabalho é reiniciado, não imediatamente após a configuração ser alterada.

A tabela a seguir lista os atributos que são configurados automaticamente quando a propriedade AutoConfig é true. Para obter mais informações, consulte o artigo 821268, "Contenção, baixo desempenho e deadlocks quando você faz solicitações do serviço Web de aplicativos do ASP.NET", na Base de Dados de Conhecimento Microsoft em https://support.microsoft.com.

Atributo Descrição
maxWorkerThreads Especifica o número máximo de threads de trabalho por CPU que o ASP.NET usa.
maxIoThreads Especifica o número máximo de threads de conclusão por CPU que o ASP.NET usa.
minFreeThreads Corresponde à propriedade MinFreeThreads da classe HttpRuntimeSection.
minLocalRequestFreeThreads Corresponde à propriedade MinLocalRequestFreeThreads da classe HttpRuntimeSection.
maxConnection Corresponde à propriedade MaxConnection da classe ConnectionManagementElement.

A tabela a seguir lista os possíveis valores da propriedade ComAuthenticationLevel. O padrão é 2 (Connect).

Valor Palavra-chave Descrição
0 None Especifica nenhuma autenticação.
1 Call Especifica que o DCOM autentica as credenciais do cliente quando o servidor recebe a solicitação no início de cada chamada de procedimento remoto.
2 Connect Especifica que o DCOM autentica as credenciais do cliente somente quando o cliente estabelece uma conexão com o servidor.
3 Default Especifica que o DCOM determina o nível de autenticação usando seu algoritmo de negociação de segurança padrão.
4 Pkt Especifica que o DCOM autentica se todos os dados recebidos são do cliente esperado. Os transportes de datagrama sempre usam a autenticação Pkt.
5 PktIntegrity Especifica que o DCOM autentica e verifica se nenhum dos dados transferidos entre o cliente e o servidor foi modificado.
6 PktPrivacy Especifica que o DCOM autentica todos os níveis anteriores e criptografa o valor do argumento de cada chamada de procedimento remoto.

A tabela a seguir lista os possíveis valores da propriedade ComImpersonationLevel. O padrão é 4 (Impersonate).

Valor Palavra-chave Descrição
0 Default Especifica que o DCOM determina o nível de representação usando seu algoritmo de negociação de segurança padrão.
1 Anonymous Especifica que o cliente é anônimo para o servidor. O servidor poderá representar o cliente, mas o token de representação não conterá nenhuma informação. Anonymous não tem suporte no .NET Framework versão 1.1.
2 Delegate Especifica que o processo do servidor pode representar o contexto de segurança do cliente quando o servidor atua em nome do cliente. O processo do servidor também pode usar cloaking para fazer chamadas de saída para outros servidores, quando o servidor atua em nome do cliente. O servidor pode usar o contexto de segurança do cliente em outros computadores para ganhar acesso a recursos locais e remotos como o cliente. Quando o servidor está representando nesse nível, o token de representação pode ser passado em qualquer número de limites do computador.
3 Identify Especifica que o servidor pode obter a identidade do cliente. O servidor pode representar o cliente para verificação de ACL (lista de controle de acesso), mas ele não pode acessar objetos do sistema como o cliente.
4 Impersonate Especifica que o processo do servidor pode representar o contexto de segurança do cliente quando o servidor atua em nome do cliente. O servidor pode usar esse nível de representação para acessar recursos locais, tais como arquivos. Quando o servidor está representando nesse nível, o token de representação pode ser passado apenas por um limite do computador.

A tabela a seguir lista os possíveis valores da propriedade LogLevel. O padrão é 2 (Errors).

Valor Palavra-chave Descrição
0 None Especifica que nenhum evento é registrado em log.
1 All Especifica que todos os eventos de processo são registrados em log.
2 Errors Especifica que somente desligamentos inesperados, desligamentos devido ao limite de memória e desligamentos por deadlock são registrados em log.

Hierarquia de herança

ConfigurationSection

ProcessModelSection

Requisitos

Tipo Descrição
Cliente – IIS 7.0 no Windows Vista
– IIS 7.5 no Windows 7
– IIS 8.0 no Windows 8
– IIS 10.0 no Windows 10
Servidor – IIS 7.0 no Windows Server 2008
– IIS 7.5 no Windows Server 2008 R2
– IIS 8.0 no Windows Server 2012
– IIS 8.5 no Windows Server 2012 R2
– IIS 10.0 no Windows Server 2016
Product – IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
Arquivo MOF WebAdministration.mof

Confira também