processModel Element (ASP.NET Settings Schema)

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

Configura o aplicativo ASP.NET específicas em um servidor Web de 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 é executados no servidor.

Aviso

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", posteriormente 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"
/>

Attributes and Elements

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

Attributes

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 clientes do NET Framework; somente o ASP.NET seguros.

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 existente.

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 é um cliente esperado.Os 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 é compatível com 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 de saída 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 obter acesso a recursos locais e remotos, como o cliente.Com 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) de controle de acesso, mas ele não pode acessar objetos do sistema como o 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 arquivos.Com esse nível de representação, o símbolo de representação pode ultrapassar o limite de apenas um computador.

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 a webGarden atributo é true, esse atributo limita os processos de trabalho para o número de CPUs qualificados. O máximo de processos do operador é igual ao número de CPUs. Se webGarden é false, esse 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, devido ao limite da 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 aplicativos que são permitidos 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 for 25 em um servidor de processador único, o ASP.NET usa as APIs de execução para definir o limite de processo como 25. Em um servidor com dois processadores, o limite é definido como 50. O valor deste atributo deve ser igual ou maior que o minFreeThread configuração do atributo o httpRuntime seção de configuração.

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

O intervalo para este atributo é de 5 por meio de 100.

O padrão é 20.

maxWorkerThreads

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

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

O intervalo para este atributo é de 5 por meio de 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. Also see maxIoThreads.

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

O padrão é 1.

minWorkerThreads

Configura o número mínimo de threads de trabalho a ser usado para o processo em uma base por CPU. Also see maxWorkerThreads.

Para obter informações sobre threading tipos, "Threading Explained" no melhorando ASP.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.

NoteNote
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 ele está sendo executado. Se ele não estiver executando o pingTimeout o intervalo, o processo do operador for 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 efetuam ping o processo do operador na pingFrequency intervalo. Se o processo do operador não responder dentro do 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 a retornar a mensagem "503 – servidor muito ocupado" às 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, caso ele ainda esteja 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 que estão enfileiradas enquanto aguarda o processo do operador reiniciar após um encerramento fora do 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 a ser usado em vez da mensagem padrão "Servidor não disponí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, a mensagem padrão "Servidor indisponível" é usada.

shutdownTimeout

Especifica o número de minutos permitidos para o processo do operador desligar. Quando o tempo limite expirar, 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 houver credenciais válidas neste atributo e o password atributo, o processo é executado na 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 NET user que está sendo executado sob o processo de ter privilégios administrativos totais. Consulte "Comentários", posteriormente neste tópico para obter informações sobre como usar o ASP.NET em um servidor que seja um controlador de domínio.

NoteNote
Este atributo e o password atributo são armazenadas em texto não criptografado no arquivo de configuração.Embora Serviços de Informações da Internet da Microsoft (IIS) não transmita 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 criptografados de armazenamento oferece suporte de seção de userName e password atributos no registro.As credenciais devem estar no formato REG_BINARY e criptografados 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.NET processos.
False Indica que o uso da CPU é programado pelo sistema operacional Windows.O cpuMask atributo será ignorado e somente um processo do operador é executado.

O padrão é False.

Child Elements

Nenhum.

Parent Elements

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 .

Remarks

O sistema de configuração do código gerenciado não lê o processModel as definições de configuração. Em vez disso, o processModel as definições de configuração são lidos diretamente pelo aspnet_isapi. dll não gerenciada de 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 na processModel seção são ignorados. 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 do processo 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.

Valores de tempo estão no formato "horas: minutos: segundos". Se for fornecido um único número sem os dois pontos, o valor será considerado minutos; thus timeout="4" is equal to timeout="00:04:00".

Se um aplicativo ASP.NET Visual Basic 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ê instala 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 executam o Windows 2000 Server, 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 a página de pesquisa da Base de dados de Conhecimento (KB) e consulte o artigo Q824308, "a 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 a página de pesquisa da Base de dados de Conhecimento (KB) e consulte o artigo Q315158, "ASP.NET não funciona com a conta 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 é aberta. A parte após a vírgula (,) contém um nome de valor único de seqüência de caracteres a partir do qual o ASP.NET lê as credenciais. A vírgula (,) é necessária e as credenciais devem ser armazenadas na seção HKLM. Se o formato de configuração estiver 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-fonte 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. Como a chave é lida pelo processo do 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 elemento não está explicitamente configurado no arquivo Machine. config ou no arquivo Web. config raiz. No entanto, ele é 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"
        />

Element Information

Manipulador da seção de configuração

ProcessModelSection

Membro de configuração

ProcessModel

Locais configuráveis

Machine.config

Requisitos

Serviços de Informações da Internet da Microsoft (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

Tasks

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Reference

System. Web Element (ASP.NET Settings Schema)

configuração Element (General Settings Schema)

System.Configuration

System.Web.Configuration

ProcessModel

ProcessModelSection

Concepts

Configuring ASP.NET Process Identity

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

Other Resources

Configurações gerais (ASP.NET)

Melhorando o ASP.NET desempenho

ASP.Definições de configuração de rede

Configuring ASP.NET Applications

ASP.NET Configuration Files

ASP.NET Configuration API