Partilhar via


processModel Element (ASP.NET Settings Schema)

Configura o ASP.NET específicas em um servidor Web em Serviços de Informações da Internet da Microsoft (IIS). O processModel seção pode ser definida apenas dentro do arquivo Machine. config e afeta todos os aplicativos ASP.NET que está sendo executados no servidor.

Observação de cuidadoCuidado

Altera para o processModel elemento terão efeito somente quando o processo do operador é reiniciado — não imediatamente após a configuração é alterada, assim como acontece com outros elementos de configuração.Para obter mais informações, consulte "Comentários" neste tópico.

<processModel 
   enable="true|false"
   timeout="hrs:mins:secs|Infinite" 
   idleTimeout="hrs:mins:secs|Infinite"
   shutdownTimeout="hrs:mins:secs|Infinite"
   requestLimit="num|Infinite"
   requestQueueLimit="num|Infinite"
   restartQueueLimit="num|Infinite"
   memoryLimit="percent"
   webGarden="true|false"
   cpuMask="num"
   userName="<username>"
   password="<secure password>"
   logLevel="All|None|Errors"
   clientConnectedCheck="hrs:mins:secs|Infinite"
   comAuthenticationLevel="Default|None|Connect|Call| 
               Pkt|PktIntegrity|PktPrivacy"
   comImpersonationLevel="Default|Anonymous|Identify|
               Impersonate|Delegate"
   responseDeadlockInterval="hrs:mins:secs|Infinite"
   responseRestartDeadlockInterval="hrs:mins:secs|Infinite"
   autoConfig="true|false"
   maxWorkerThreads="num"
   maxIoThreads="num"
   minWorkerThreads="num"
   minIoThreads="num"
   serverErrorMessageFile="" 
   pingFrequency="Infinite" 
   pingTimeout="Infinite" 
   maxAppDomains="2000"
/>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Atributo

Descrição

autoConfig

Especifica se configurar automaticamente as configurações a seguir para obter o desempenho ideal com base na configuração da máquina:

Os valores são definidos de acordo com o artigo do KB em https://support.microsoft.com/?id=821268.

Esse atributo não afeta o.Aplicativos de cliente do NET Framework; somente o ASP.NET applications.

O autoConfig atributo pode ser um dos seguintes valores.

TermoDefinição
True Indica que o ASP.NET configura automaticamente os atributos na lista anterior para obter o desempenho ideal com base na configuração da máquina.
False Indica que o ASP.NET deve usar os valores definidos explicitamente para os atributos na lista anterior.

O padrão no arquivo Machine. config é True, a menos que haja uma configuração previamente existentes.

clientConnectedCheck

Especifica quanto tempo uma solicitação é deixada na fila antes do ASP.NET faz uma verificação para determinar se o cliente está conectado.

O padrão é "00:00:05" (5 segundos).

comAuthenticationLevel

Especifica o nível de autenticação de segurança DCOM.

O comAuthenticationLevel atributo pode ser um dos seguintes valores.

ValorDescrição
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.
Connect Especifica que o DCOM autentica as credenciais do cliente somente quando o cliente estabelece uma conexão com o servidor.
Default Especifica que o DCOM determina o nível de autenticação usando seu algoritmo de negociação de segurança padrão.
None Especifica nenhuma autenticação.
Pkt Especifica que o DCOM autentica que todos os dados recebidos é de um cliente esperado.Transportes de datagramas sempre usam Pkt autenticação.
PktIntegrity Especifica que o DCOM autentica e verifica se nenhum dos dados que são transferidos entre o cliente e o servidor é modificado.
PktPrivacy Especifica que o DCOM autentica todos os níveis anteriores e criptografa o valor do argumento de cada chamada de procedimento remoto.

O padrão é Connect.

comImpersonationLevel

Especifica o nível de segurança COM autenticação.

O comImpersonationLevel atributo pode ser um dos seguintes valores.

ValorDescrição
Anonymous Especifica que o cliente é anônimo para o servidor.O servidor pode personificar o cliente, mas o símbolo de representação não conterá qualquer informação.AnonymousNão há suporte para o.NET Framework versão 1.1.
Default Especifica que o DCOM determina o nível de representação usando seu algoritmo de negociação de segurança padrão.
Delegate Especifica que o processo do servidor pode representar o contexto de segurança para o cliente enquanto estiver agindo em nome do cliente.O processo do servidor também pode fazer chamadas para outros servidores enquanto estiver agindo em nome do cliente, usando um disfarce.O servidor pode usar o contexto de segurança para o cliente em outros computadores para acessar recursos locais e remotos como o cliente.Quando esse nível de representação, o símbolo de representação pode ultrapassar qualquer número de limites de máquina.
Identify Especifica que o servidor pode obter a identidade do cliente.O servidor pode personificar o cliente para verificação de ACL (lista) do controle de acesso, mas ele não pode acessar objetos do sistema do cliente.
Impersonate Especifica que o processo do servidor pode representar o contexto de segurança para o cliente enquanto estiver agindo em nome do cliente.Esse nível de representação pode ser usado para acessar recursos locais, como, por exemplo, arquivos.Quando esse nível de representação, o símbolo de representação pode ultrapassar o limite de apenas uma máquina.

O padrão é Impersonate.

cpuMask

Especifica quais processadores (CPUs) em um servidor com vários processadores estão qualificados para executar o ASP.NET processos. Esse valor Especifica um padrão de bits que indica as CPUs que estão qualificadas para executar o ASP.NET threads. Por exemplo, o cpuMask o valor hexadecimal 0x0d representa o padrão de bits 1101. Em um computador com quatro CPUs, isso indica que ASP.NET processos podem ser programados nas CPUs 0, 2 e 3, mas não na CPU 1. ASP.NET inicia um processo do operador para cada CPU qualificado. Se o webGarden atributo é true, processos de trabalho de limites esse atributo para o número de CPUs qualificado. O número máximo de processos do operador é igual ao número de CPUs. Se webGarden é false, este atributo é ignorado e somente um processo do operador será executado. Esse é o comportamento padrão.

O padrão é "0xffffffff".

enable

Especifica se o modelo de processo está ativado.

O enable atributo pode ser um dos seguintes valores.

ValorDescrição
True Indica que o modelo de processo está ativado.
False Indica que o modelo de processo não está ativado.

O padrão é true.

idleTimeout

Especifica o período de inatividade, no formato de seqüência de caracteres hr:min:s, após o qual o ASP.NET finaliza automaticamente o processo do operador.

O padrão é Infinite.

logLevel

Especifica os tipos de eventos no log de eventos.

O logLevel atributo pode ser um dos seguintes valores.

ValorDescrição
All Especifica que todos os eventos de processo são registrados.
Errors Especifica que somente desligamentos inesperados, desligamentos do limite de memória e bloqueio é registrados.
None Especifica que nenhum evento é registrado.

O padrão é Errors.

maxAppDomains

Especifica o número máximo de domínios de aplicativo são permitidas em um processo.

Esse atributo pode ser menor ou igual a 2000.

O padrão é 2000.

maxIoThreads

Configura o número máximo de segmentos de e/S para usar para o processo em uma base por CPU. Por exemplo, se esse valor é 25 em um servidor de processador único, o ASP.NET usa as APIs de execução para definir o limite de processo para 25. Em um servidor com dois processadores, o limite é definido para 50. O valor deste atributo deve ser igual ou maior que o minFreeThread o atributo de configuração na httpRuntime seção de configuração.

Para obter informações sobre tipos de threading, consulte "Threading Explained" em ASP melhorando.NET desempenho.

O intervalo para este atributo é de 5 a 100.

O padrão é 20.

maxWorkerThreads

Configura o número máximo de threads de trabalho para o processo em uma base por CPU. Por exemplo, se esse valor é 25 em um servidor de processador único, o ASP.NET usa as APIs de execução para definir o limite de processo para 25. Em um servidor com dois processadores, o limite é definido para 50. O valor deste atributo deve ser igual ou maior que o minFreeThread o atributo de configuração na httpRuntime seção de configuração.

Para obter informações sobre tipos de threading, consulte "Threading Explained" em ASP melhorando.NET desempenho.

O intervalo para este atributo é de 5 a 100.

O padrão é 20.

memoryLimit

Especifica o tamanho máximo de memória permitido, como uma porcentagem de memória total do sistema, o processo do operador pode consumir antes do ASP.NET inicia um novo processo e reatribuir as solicitações existentes.

O padrão é 60.

minIoThreads

Configura o número mínimo de segmentos de e/S para usar para o processo em uma base por CPU. Consulte também maxIoThreads.

Para obter informações sobre tipos de threading, consulte "Threading Explained" em ASP melhorando.NET desempenho.

O padrão é 1.

minWorkerThreads

Configura o número mínimo de threads de trabalho para o processo em uma base por CPU. Consulte também maxWorkerThreads.

Para obter informações sobre tipos, "Threading Explained" de threading em ASP melhorando.NET desempenho.

O padrão é 1.

password

Faz com que, se presente (e, em conjunto com um userName), o processo do operador seja executado com a identidade configurada do Microsoft Windows. Consulte userName para obter mais informações sobre os nomes especiais System e Machine, que não requerem uma senha e para obter informações sobre como armazenar credenciais de processo do operador criptografadas no registro.

Observação

Há riscos associados com o armazenamento de credenciais em um arquivo de configuração.Para obter mais informações, consulte "Armazenando um usuário nome e senha no Registro" posteriormente neste documento.

O padrão é AutoGenerate.

pingFrequency

Especifica o intervalo de tempo no formato do modelo de processo padrão (hr:min:s), no qual a extensão ISAPI efetua ping o processo do operador para determinar se está executando. Se ele não estiver executando o pingTimeout o intervalo, o processo do operador é reiniciado.

O padrão é Infinite.

pingTimeout

Especifica o intervalo de tempo no formato do modelo de processo padrão (hr:min:s), após um processo do operador responsivo que não está respondendo é reiniciado. As extensões ISAPI ping o processo do operador na pingFrequency intervalo. Se o processo do operador não responder dentro de pingTimeout o intervalo, o processo é reiniciado.

O padrão é Infinite.

requestLimit

Especifica o número de solicitações que são permitidas antes do ASP.NET automaticamente inicia um novo processo para assumir a função atual.

O padrão é Infinite.

requestQueueLimit

Especifica o número de solicitações que são permitidas na fila antes do ASP.NET começa retornando a mensagem "503 – Servidor muito ocupado" a novas solicitações.

O padrão é 5000.

responseDeadlockInterval

Especifica o intervalo de tempo no formato do modelo de processo padrão (hr:min:s), depois que o processo for reiniciado, se as seguintes condições forem atendidas:

  • Existem solicitações em fila.

  • Não houve resposta durante este intervalo.

O padrão é "0:03:00" (3 minutos).

responseRestartDeadlockInterval

Este atributo não é usado pelo ASP.NET e é fornecido apenas para compatibilidade. Ele não causará um erro de configuração, se já está presente em um arquivo de configuração. Toda a reciclagem no caso de uma condição de bloqueio agora é controlado pelo responseDeadlockInterval atributo.

O padrão é "0:03:00" (3 minutos).

restartQueueLimit

Especifica o número máximo de solicitações são enfileiradas enquanto aguarda o processo do operador reiniciar após um encerramento não padrão. Essa configuração não se aplica no caso de um desligamento normal ou reinicialização padrão.

O padrão é 10.

serverErrorMessageFile

Especifica o conteúdo de um arquivo para usar em vez da mensagem padrão "Servidor indisponível" no caso de um erro fatal. O local do arquivo é relativo ao arquivo Machine. config ou pode ser um caminho absoluto. Se esse atributo não estiver presente, o padrão de mensagem "Servidor não disponível" é usado.

shutdownTimeout

Especifica o número de minutos permitidos para o processo do operador desligar. Quando o tempo limite expira, o ASP.NET desliga o processo do operador. O tempo é expresso em hr:min:s formato de seqüência de caracteres.

O padrão é "0:00:05" (5 segundos).

timeout

Especifica o número de minutos até que o ASP.NET inicia um novo processo para assumir a função atual.

O padrão é Infinite.

userName

Especifica que o ASP.NET será executado o processo de trabalho com uma identidade do Windows é diferente do que a identidade do Windows para a identidade de processo padrão. Por padrão, esse atributo é definido o Machine, e o processo é executado sob uma conta de usuário denominada ASPNET é criada automaticamente quando ASP.NET está instalado. A senha para a conta ASPNET criptograficamente é gerada no momento da instalação. Se credenciais válidas são apresentadas nesse atributo e o password atributo, o processo é executado com a conta determinada. Um outro valor para userName é System, com a senha AutoGenerate, que executa o processo como uma conta administrativa e permite que todos os aplicativos ASP.Código do NET user que está executando sob o processo de ter privilégios administrativos totais. Consulte "Comentários" neste tópico para obter informações sobre como usar o ASP.NET em um servidor que seja um controlador de domínio.

Observação

Este atributo e o password atributo são armazenadas em texto não criptografado no arquivo de configuração.Embora o Serviços de Informações da Internet da Microsoft (IIS) não transmitir arquivos. config em resposta a uma solicitação do agente de usuário, os arquivos de configuração podem ser lidos por outros meios.Por exemplo, um arquivo de configuração pode ser lido por um usuário autenticado com credenciais adequadas no domínio para o servidor.Por motivos de segurança, o processModel criptografado de armazenamento oferece suporte de seção de userName e password atributos no registro.As credenciais devem estar no formato REG_BINARY e criptografado pelas funções de criptografia do Windows 2000 e Windows XP Data Protection API (DPAPI).Para obter mais informações, consulte "Armazenando um usuário nome e senha no Registro" posteriormente neste documento.

O padrão é "machine".

webGarden

Controla a afinidade da CPU quando usado em conjunto com o cpuMask atributo. (Um servidor da Web com vários processadores é denominado ambiente Web).

O webGarden atributo pode ser um dos seguintes valores.

ValorDescrição
True Indica que o cpuMask atributo é usado para especificar quais CPUs estão qualificadas para executar o ASP.Processos NET.
False Indica que o uso da CPU é programado pelo sistema operacional Windows.O cpuMask atributo será ignorado e somente um processo do operador é executar.

O padrão é False.

Elementos filho

Nenhum.

Elementos pai

Elemento

Descrição

system.web

Especifica o elemento raiz para a seção de configuração ASP.NET e contém elementos que configuram aplicações Web ASP.NET e controla como os aplicativos se comportam .

Comentários

O sistema de configuração de código gerenciado não lê o processModel as configurações de configuração. Em vez disso, o processModel definições de configuração são lidos diretamente pelo aspnet_isapi. dll não gerenciado DLL. As alterações a esta seção não são aplicadas até que o processo de trabalho do IIS seja reiniciado.

Quando ASP.NET está sendo executado no IIS versão 6 no modo nativo, o modelo de processo é usado do IIS 6 e alguns atributos do processModel seção são ignoradas. No entanto, os seguintes atributos ainda se aplicam:

  • autoConfig

  • maxIoThreads

  • maxWorkerThreads

  • minIoThreads

  • minWorkerThreads

  • requestQueueLimit

  • responseDeadlockInterval

Para obter informações sobre o modelo de processo do IIS 7, consulte As configurações do modelo de processo para um Pool de aplicativos.

Para configurar a identidade do processo, o ciclo ou outros valores de modelo de processo no IIS 6.0, usam a interface de usuário do Gerenciador de serviços de Internet para configurar o processo de trabalho do IIS para seu aplicativo.

Observação

ASP.NET 2.0 não pode ser usado quando você configurar o IIS 6 para executar o ASP.NET no modo de isolamento do IIS 5.0.

Os valores de tempo estão no formato "horas: minutos: segundos". Se um único número sem os dois pontos for fornecido, o valor será considerado minutos; Assim, timeout="4" é igual a timeout="00:04:00".

Se um aplicativo ASP.NET aplicativo está causando o ASP.NET o processo do operador (Aspnet_wp. exe no Windows 2000 e Windows XP Professional) e W3wp. exe no Windows Server 2003 para reiniciar com uma mensagem de erro indicando que a reinicialização foi causada por um estado de bloqueio suspeito, você deve aumentar o responseDeadlockInterval atributo.

Controladores de domínio e a conta ASPNET Local

Se você instalar o.NET Framework versão 1.1 em um controlador de domínio, a instalação não cria a conta ASPNET local. Em vez disso, ASP.NET são executados em outras identidades, da seguinte maneira:

  • Em controladores de domínio que estejam executando o Windows 2000 Server, o ASP.NET são executados sob a identidade IWAM_machinename.

  • Em controladores de domínio executando o Windows Server 2003, ASP.NET são executados sob a identidade do serviço de rede, independentemente do modo de isolamento do IIS.

Em algumas circunstâncias, executando o ASP.NET em um controlador de domínio requer que você execute etapas adicionais para que a instalação funcione corretamente. Para obter mais informações sobre como executar o.NET Framework versão 1.1 em um controlador de domínio, vá para o página de pesquisa do Knowledge Base (KB) e consulte o artigo Q824308, "conta IWAM não recebe o privilégio representar para o ASP.NET 1.1 em um controlador de domínio do Windows 2000 com SP4". Para obter mais informações sobre como executar o.NET Framework versão 1.0 em um controlador de domínio, vá para o página de pesquisa do Knowledge Base (KB) e consulte o artigo Q315158, "ASP.NET não funciona com a conta do ASPNET padrão em um controlador de domínio."

Armazenar um nome de usuário e senha no registro

Para criptografar o nome de usuário e senha e armazená-los no registro, defina a userName e password atributos, como mostrado no exemplo a seguir.

   userName="registry:HKLM\Software\AspNetProcess,Name"
   password="registry:HKLM\Software\AspNetProcess,Pwd"

A parte da seqüência de caracteres após a palavra-chave registry e antes da vírgula (,) indica o nome da chave do registro que o ASP.NET será aberta. A parte após a vírgula (,) contém um nome de valor de seqüência de caracteres única a partir do qual o ASP.NET lê credenciais. A vírgula (,) é necessária e as credenciais devem ser armazenadas na seção HKLM. Se o formato de configuração está incorreto, ASP.NET não iniciará o processo do operador e seguirá o caminho de código de falha de criação de conta atual.

As credenciais devem estar no formato REG_BINARY, contendo a saída de uma chamada para a função de API do Windows CryptProtectData. Você pode usar o Aspnet_setreg. exe para criar as credenciais criptografadas e armazená-los no registro. Aspnet_setreg. exe usa CryptProtectData para realizar a criptografia. Para baixar Aspnet_setreg. exe, juntamente com o código de origem do Microsoft Visual C++ e a documentação, vá para a ASP.NET Web site da e procure por "aspnet_setreg".

Você deve configurar o acesso à chave que está armazenando as credenciais criptografadas para que o acesso é fornecido apenas para administradores e sistema. Porque a chave será lida pelo ASP.NET o processo em execução como sistema, definir as seguintes permissões:

Administrators:F
SYSTEM:F
CREATOR OWNER:F 
ProcessAccount: R

Isso ajuda a proteger os dados das seguintes maneiras:

  • As permissões ACL requerem que a identidade que está acessando os dados é o administrador.

  • Um invasor deve executar o código no servidor (CryptUnprotectData) para recuperar as credenciais da conta.

Configuração padrão

O seguinte padrão processModel é o elemento não explicitamente configurado no arquivo Machine. config ou no arquivo Web. config raiz. No entanto, é a configuração padrão que é retornada pelo aplicativo.

<processModel 
   enable="true" 
   timeout="Infinite" 
   idleTimeout="Infinite" 
   shutdownTimeout="00:00:05" 
   requestLimit="Infinite" 
   requestQueueLimit="5000" 
   restartQueueLimit="10" 
   memoryLimit="60" 
   webGarden="false" 
   cpuMask="0xffffffff" 
   userName="machine" 
   password="AutoGenerate" 
   logLevel="Errors" 
   clientConnectedCheck="00:00:05" 
   comAuthenticationLevel="Connect" 
   comImpersonationLevel="Impersonate" 
   responseDeadlockInterval="00:03:00" 
   responseRestartDeadlockInterval="00:03:00" 
   autoConfig="true" 
   maxWorkerThreads="20" 
   maxIoThreads="20" 
   minWorkerThreads="1" 
   minIoThreads="1" 
   serverErrorMessageFile="" 
   pingFrequency="Infinite" 
   pingTimeout="Infinite" 
   asyncOption="20" 
   maxAppDomains="2000" 
/>

O seguinte padrão processModel elemento é configurado no arquivo Machine. config na.NET Framework versões 1.0 e 1.1.

<processModel
   enable="true"
   timeout="Infinite"
   idleTimeout="Infinite"
   shutdownTimeout="0:00:05" 
   requestLimit="Infinite" 
   requestQueueLimit="5000" 
   restartQueueLimit="10"
   memoryLimit="60" 
   webGarden="false"
   cpuMask="0xffffffff"
   userName="machine"
   password="AutoGenerate"
   logLevel="Errors"
   clientConnectedCheck="0:00:05"
   comAuthenticationLevel="Connect"
   comImpersonationLevel="Impersonate"
   responseRestartDeadlockInterval="00:09:00"
   responseDeadlockInterval="00:03:00" 
   <!-- In the .NET Framework version 1.1, the next two attributes are
        set to 20. -->
   maxWorkerThreads="25"
   maxIoThreads="25"
        />

Informações do elemento

Manipulador da seção de configuração

ProcessModelSection

Membro de configuração

ProcessModel

Locais configuráveis

Machine.config

Requisitos

De da (IIS) versão 5.0, 5.1 ou 6.0

A.NET Framework versão 1.0, 1.1 ou 2.0

Microsoft Visual Studio 2003 ou 2005 de Visual Studio

Consulte também

Tarefas

Como: Configurar Diretórios Específicos Usando Configurações por Localização

Como: Bloquear definições de configuração ASP.NET

Referência

system.web Element (ASP.NET Settings Schema)

configuração Element (Geral Configurações Schema)

System.Configuration

System.Web.Configuration

ProcessModel

ProcessModelSection

Conceitos

Configurando a identidade de processo do ASP.NET

Hierarquia e Herança do Arquivo de Configuração do ASP.NET

Protegendo a configuração do ASP.NET

Cenários de configuração ASP.NET

Outros recursos

General Configuration Settings (ASP.NET)

Melhorando o ASP.NET desempenho

ASP.NET Configuration Settings

Administração de Sites do ASP.NET

Arquivos de configuração ASP.NET

API de Configuração do ASP.NET