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?

Foi útil?

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 ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top