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.
Cuidado |
---|
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:
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 |
|
Membro de configuração |
|
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)
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