Pergunta
No IIS 6, o que uma redefinição do IIS faz?
Compare com a reciclagem de um pool de aplicativos e a interrupção e inicialização de um site ASP.NET.
Se você substituir uma DLL ou editar/substituir o web.config em um site ASP.NET, isso é o mesmo que parar e iniciar esse site?
Solução
IISReset para e reinicia todo o servidor web (incluindo aplicativos não ASP.NET)
A reciclagem de um pool de aplicativos afetará apenas os aplicativos em execução nesse pool de aplicativos.
A edição do web.config em um aplicativo da web afeta apenas esse aplicativo da web (recicla apenas esse aplicativo).
Editar machine.config na máquina reciclará todos os pools de aplicativos em execução.
O IIS monitorará o diretório /bin do seu aplicativo.Sempre que uma alteração for detectada nessas DLLs, ele reciclará o aplicativo e recarregará essas novas DLLs.Ele também monitora web.config e machine.config da mesma maneira e executa a mesma ação para os aplicativos aplicáveis.
Outras dicas
IISReset reinicia todo o servidor web (incluindo todos os sites associados).Se você deseja apenas redefinir um único site ASP.NET, basta reciclar esse AppDomain.
A maneira mais comum de redefinir um site ASP.NET é editar o arquivo web.config, mas você também pode criar uma página de administração com o seguinte:
public partial class Recycle : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
HttpRuntime.UnloadAppDomain();
}
}
Aqui está uma postagem no blog que escrevi com mais informações: Evite IISRESET em aplicativos ASP.NET
Ele opera em toda a árvore de processos do IIS, e não apenas nos pools de aplicativos.
C:\>iisreset /?
IISRESET.EXE (c) Microsoft Corp. 1998-1999
Usage:
iisreset [computername]
/RESTART Stop and then restart all Internet services.
/START Start all Internet services.
/STOP Stop all Internet services.
/REBOOT Reboot the computer.
/REBOOTONERROR Reboot the computer if an error occurs when starting,
stopping, or restarting Internet services.
/NOFORCE Do not forcefully terminate Internet services if
attempting to stop them gracefully fails.
/TIMEOUT:val Specify the timeout value ( in seconds ) to wait for
a successful stop of Internet services. On expiration
of this timeout the computer can be rebooted if
the /REBOOTONERROR parameter is specified.
The default value is 20s for restart, 60s for stop,
and 0s for reboot.
/STATUS Display the status of all Internet services.
/ENABLE Enable restarting of Internet Services
on the local system.
/DISABLE Disable restarting of Internet Services
on the local system.
A reciclagem do pool de aplicativos reinicia o processo w3wp.exe para esse pool de aplicativos, portanto, afetará apenas sites em execução nesse pool de aplicativos.
IISReset reinicia TODOS os processos w3wp.exe e qualquer outro serviço relacionado ao IIS, ou seja,o serviço NNTP ou FTP.
acho que mudando web.config
ou /bin
não recicla todo o pool de aplicativos, mas não tenho certeza disso.
Ele interrompe e inicia os serviços que compõem o IIS.
Você pode pensar nisso como fechar o programa relevante e iniciá-lo novamente.
Aqui está o que o technet tem a dizer sobre iisreset
Talvez seja necessário reiniciar o Internet Information Services (IIS) antes que determinadas alterações de configuração entrem em vigor ou quando os aplicativos ficarem indisponíveis.Reiniciar o IIS é o mesmo que parar primeiro o IIS e depois iniciá-lo novamente, exceto que isso é feito com um único comando.
Você pode encontrar mais informações sobre quais serviços isso afeta nos documentos da Microsoft.
Quando você altera o arquivo de configuração de um site ASP.NET, ele reinicia o aplicativo para refletir as alterações...
Quando você faz uma redefinição do IIS, todos os aplicativos em execução nessa instância do IIS são reiniciados.
Editando o web.config
arquivo ou atualizando uma DLL no bin
pasta apenas recicla o processo de trabalho desse aplicativo, não de todo o pool.
IISReset reinicia todo o servidor web (incluindo todos os sites associados).Se você deseja redefinir apenas um único site ASP.NET, basta reciclar esse domínio de aplicativo.