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.
Note
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:
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.
Note
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 |
|
Membro de configuração |
|
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)
Concepts
Configuring ASP.NET Process Identity
ASP.NET Configuration File Hierarchy
Other Resources
Configurações gerais (ASP.NET)
Melhorando o ASP.NET desempenho
ASP.Definições de configuração de rede