
Minha empresa de hospedagem acabou de atualizar meu servidor e transferir meus sites. Desenvolvo no Visual Studio e publico sites em uma pasta local, que depois carrego via FTP (usando o FileZilla, se fizer alguma diferença).
No servidor antigo, mantive um arquivo nomeado _App_Offline.htm
na wwwroot
pasta de cada site. Quando carreguei uma nova versão, renomeei-a para App_Offline.htm
, o que permitiu ao IIS liberar os arquivos, carreguei e renomeei o arquivo novamente. Tudo funcionou bem.
No novo servidor, renomear o arquivo nunca permite que o IIS libere os arquivos, portanto não posso fazer upload das alterações. Tentei parar o site no meu painel de controle, mas isso não ajudou. Tentei parar o pool de aplicativos. Geralmente isso ajuda, mas reiniciá-lo quase sempre falha. São necessárias pelo menos 15 a 20 tentativas antes de reiniciar.
Alguém tem alguma sugestão sobre qual pode ser o problema aqui? Sei que não há muito o que dizer, mas não tenho certeza do que mais posso dizer. Aqui estão alguns detalhes possivelmente relevantes ...
- Servidor Windows 2022
- IIS10
- O servidor está executando o FTP do Windows
- Todos os sites são .NET, 6 ou 7, principalmente Blazor, mas algumas páginas Razor
Por favor, informe se houver mais alguma informação que eu possa fornecer.
Obrigado
Responder1
Curiosamente, embora você não possa excluir ou sobrescrever os arquivos quando o IIS os estiver segurando, você pode renomeá-los e o site continuará como antes.
Portanto, uma maneira de contornar isso é renomear os arquivos críticos (que na minha experiência geralmente são apenas a DLL principal), copiar a nova versão e usar o truque app_offline.htm para reiniciar o site. Ao reiniciar, você pode excluir os arquivos renomeados (antigos).
Na prática, nem sempre é possível excluir os arquivos antigos imediatamente, mas se você os renomear para terem um prefixo zzz
, eles ficarão ocultos na parte inferior da lista de arquivos e você poderá excluí-los em seguida. vez que você carrega.
No geral, seu tempo é o mesmo, mas em vez de renomear app_offline.htm, fazer upload e renomear novamente, você renomeia a DLL, carrega e renomeia app_offline.htm duas vezes em rápida sucessão. A vantagem disso é que você tem muito menos tempo de inatividade, basicamente o site só fica fora do ar enquanto você renomeia app_offline.htm e renomeia-o novamente.
Espero que ajude.