Por que app_offline.htm continua aparecendo no meu projeto da web?
-
23-09-2019 - |
Pergunta
Eu regularmente (a cada poucos dias) publico meu projeto Web ASP.NET no servidor da web local.
Mas a coisa mais estranha continua acontecendo ... um arquivo chamado "app_offline.htm" continua aparecendo, espontâneo, no meu projeto da web!
Eu excluí esse arquivo várias vezes, ele não está no controle de origem e a Afaik mais ninguém está adulterando o projeto. Mas praticamente toda vez que tento publicar o projeto, minha publicação falha (Unable to add 'app_offline.htm' to the Web site. The file 'app_offline.htm' already exists in this Web site.Error: The operation could not be completed. Unspecified error
), Volto a olhar para o projeto, e lá está novamente, grande como a vida, e suspeito que, se pudesse, estaria soprando framboesas para mim. : p
Depois de ler um pouco sobre esse arquivo, concluo que é para ser uma maneira fácil de levar seu aplicativo offline. Mas eu não vi em nenhum lugar que deveria se impor -se com você arbitrariamente sem uma boa razão.
Então, onde está *&^%$#@%!! Arquivo vindo e por que o VS acha que eu preciso?
Solução
Este é um .NET 2.0 "Recurso"
http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx
http://www.codeproject.com/kb/aspnet/app_offline.aspx
"A maneira mais fácil de contornar isso é nunca publicar diretamente para o seu servidor. Você não deve de qualquer maneira ... publique em uma pasta local e copie o site"
Você usa o Visual Studio? http://connect.microsoft.com/visualstudio/feedback/viewfeedback.aspx?feedbackid=102778
Outras dicas
Por padrão, o processo de publicação coloca um no seu diretório de destino, mas depois o exclui quando o processo de publicação for feito. Talvez esteja sendo impedido de excluí -lo quando tenta?
Aqui está um trecho do artigo do MSDN aqui:
Antes de copiar arquivos de aplicativos, a ferramenta Copy Site coloca um arquivo chamado app_offline.htm no diretório raiz do site de destino. Enquanto o arquivo app_offline.htm existe, quaisquer solicitações para o site são redirecionadas para este arquivo. O arquivo exibe uma mensagem amigável que informa aos clientes que o site está sendo atualizado. Quando todos os arquivos do site forem copiados, a ferramenta Copy Site exclui o arquivo app_offline.htm no site de destino.
Eu acho que, por algum motivo, há dois eventos de publicação de alguma forma conflitantes entre si?
A maneira como eu contorno isso é usar o NANT para construir minha solução e copiar apenas as coisas que eu quero. De fato, copio o arquivo app_offline primeiro, utilizando o recurso, mas depois gerencia quando ele é copiado e excluído.
Se o banco de dados não suportar vários processos (Exp. SQL Server 2005 Express Edition ou Access). Somente processo único pode acessar o banco de dados por vez. Portanto, quando um banco de dados é acessado através do Visual Studio, o ASP.NET Runtime não pode acessar o banco de dados. Isso resultará no erro do servidor interno. Para evitar isso, o arquivo vs 2005 coloca o arquivo app_offline.htm no diretório raiz do aplicativo. O arquivo contém a mensagem acima. Isso faz com que o ASP.NET coloque o aplicativo no modo offline. Observe que o banco de dados de acesso significa abrir qualquer componente do banco de dados (tabela, por exemplo, visualização, procedimento armazenado etc.) na janela de design. Quando a janela de design é fechada, o arquivo VS 2005 ou VS 2008 remove o arquivo app_offline.htm, fazendo o aplicativo no modo online novamente.
Encontrei aqui ...