ASP.NET 2.0 - Como usar app_offline.htm
-
18-09-2019 - |
Pergunta
Eu li sobre o arquivo app_offline.htm
que pode ser colocado dentro da raiz de uma aplicação .NET 2.0, que vai na sua essência desligar o aplicativo e desabilitar quaisquer outras páginas de ser solicitado.
Eu coloquei o arquivo na raiz, e as minhas cargas site ainda. Eu entrei em documentos padrão no IIS e configurá-lo para app_offline.htm
eo site ainda cargas (este pode ter sido um problema de cache embora)
De qualquer forma, alguém ter problemas usando este? Estou fazendo algo errado?
Solução
Eu tenho usado o truque app_offline.htm extremamente útil para encerrar sites / atualização no passado sem quaisquer problemas.
Certifique-se de que você está realmente colocando o arquivo "app_offline.htm" na "raiz" do site que você configurou no IIS.
Também garantir que o arquivo é chamado exatamente como deveria ser: app_offline.htm
Além disso, não deve haver outras alterações IIS que você deve precisar fazer uma vez que o processamento desse arquivo (com este nome específico) é tratada pelo ASP.NET tempo de execução em vez de si IIS (para o IIS v6) .
Esteja ciente, no entanto, que, apesar de colocar esse arquivo na raiz do seu site irá forçar o aplicativo para "desligar" e exibir o conteúdo do arquivo "app_offline.htm" em si, qualquer existente pedidos ainda vai ter o verdadeiro site servido até eles. Só new solicitações obterão o conteúdo app_offline.htm.
Se você ainda está tendo problemas, experimente os seguintes links para mais informações:
app_offline.htm e trabalhar em torno dos "erros IE amigáveis" recurso
Será app_offline.htm solicitações atuais de parada ou apenas novos pedidos?
Outras dicas
Verifique se o seu arquivo app_offline.htm é de pelo menos 512 bytes. A app_offline.htm de zero bytes não terá nenhum efeito.
UPDATE:. As versões mais recentes de ASP.NET/IIS podem se comportar melhor do que quando eu escrevi este
UPDATE 2: Se você estiver usando ASP.NET MVC, adicione o seguinte ao web.config:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
</configuration>
Note que este se comporta da mesma no IIS 6 e 7.x, e NET 2, 3 e 4. x.
Observe também que quando app_offline.htm está presente, o IIS retornará esse código de status http:
HTTP/1.1 503 Service Unavailable
Isso tudo é por design. Isso permite que o balanceador de carga (ou qualquer outro) para ver se o servidor está fora de linha.
Possível permissão Edição
Eu sei que este post é bastante antigo, mas eu tive um problema semelhante e meu arquivo foi escrito corretamente.
Eu originalmente criou o arquivo app_offline.htm em outro local e, em seguida, mudou-se para a raiz do meu aplicativo. Por causa da minha configuração Então eu tive um problema de permissões.
O site agiu como se ele não estava lá. Criando o arquivo no diretório raiz em vez de movê-lo, fixa o meu problema. (Ou você poderia apenas corrigir a permissão em Propriedades-> segurança)
Espero que ajude alguém.
Faça extensões de arquivo com certeza são visíveis no explorador e nome do arquivo é realmente
app_offline.htm
não
app_offline.htm.htm
Certifique-se de que app_offline.htm
está na raiz do diretório virtual ou site no IIS.
Eu corri para um problema muito semelhante à pergunta original que me levou um pouco de tempo para resolver.
Apenas alguém meter mais está trabalhando em um aplicativo MVC e encontra o seu caminho para esta discussão, certifique-se que você tem um mapeamento de curinga para o apropriado .Net aspnet_isapi.dll definido. Assim que eu fiz isso, meu app_offline.htm começou a se comportar conforme o esperado.
IIS 6 Configuração Passos
Em Propriedades do aplicativo do IIS, selecione a guia Virtual Directory.
Em Configurações do aplicativo, clique no botão de configuração.
aplicação Sob Wildcard Maps, clique no botão Inserir.
Digite C:. \ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll, clique em OK