Почему app_offline.htm продолжает появляться в моем веб-проекте?

StackOverflow https://stackoverflow.com/questions/2148125

Вопрос

Я регулярно (примерно каждые несколько дней) публикую свой веб-проект ASP.NET на локальном веб-сервере.

Но самое странное продолжает происходить...файл с именем «app_offline.htm» продолжает появляться в моем веб-проекте без приглашения!

Я удалял этот файл несколько раз, его нет в системе контроля версий, и, AFAIK, никто больше не вмешивается в проект.Но практически каждый раз, когда я пытаюсь опубликовать проект, моя публикация терпит неудачу (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), я возвращаюсь, чтобы посмотреть на проект, и вот он снова, большой, как жизнь, и я подозреваю, что если бы он мог, он бы в меня полечил.:п

Прочитав немного об этом файле, я пришел к выводу, что он предназначен для простого способа перевести ваше приложение в автономный режим.Но я нигде не видел, чтобы оно могло навязываться вам произвольно и без веской причины.

Итак, где же этот *&^%$#@%!!откуда исходит файл, и почему VS считает, что он мне нужен?

Это было полезно?

Решение

Это «функция» .NET 2.0.

http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx

http://www.codeproject.com/KB/aspnet/app_offline.aspx

«Самый простой способ обойти эту проблему — никогда не публиковать данные непосредственно на своем сервере.В любом случае, тебе не следует...Опубликуйте в локальной папке, а затем скопируйте сайт"

Вы используете Visual Studio? http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=102778

Другие советы

По умолчанию процесс публикации помещает один из них в целевой каталог, но затем удаляет его после завершения процесса публикации.Возможно, ему не позволяют удалить его, когда он пытается это сделать?

Вот отрывок из статьи MSDN здесь:

Прежде чем копировать файлы приложения, инструмент копирования веб-сайта помещает файл с именем App_offline.htm в корневой каталог целевого веб-сайта.Пока файл App_offline.htm существует, все запросы к веб-сайту перенаправляются в этот файл.В файле отображается дружественное сообщение, сообщающее клиентам, что веб-сайт обновляется.После копирования всех файлов веб-сайта инструмент копирования веб-сайта удаляет файл App_offline.htm с целевого веб-сайта.

Я предполагаю, что по какой-то причине есть два события публикации, которые каким-то образом конфликтуют друг с другом?

Я могу обойти эту проблему, используя nant для создания решения, а затем копируя только то, что мне нужно.Я действительно сначала копирую файл app_offline, используя эту функцию, но затем я справляюсь, когда он копируется и удаляется.

Если база данных не поддерживает несколько процессов (Exp.SQL Server 2005 Express Edition или Access).Только один процесс может одновременно обращаться к базе данных.Поэтому, когда доступ к базе данных осуществляется через Visual Studio, среда выполнения ASP.net не может получить доступ к базе данных.Это приведет к внутренней ошибке сервера.Чтобы предотвратить это, VS 2005 помещает файл app_offline.htm в корневой каталог приложения.Файл содержит вышеуказанное сообщение.Это приводит к тому, что ASP.net переводит приложение в автономный режим.Обратите внимание, что доступ к базе данных означает открытие любого компонента базы данных (т.таблица, представление, хранимая процедура и т. д.) в окно дизайна.Когда окно дизайна закрыто, VS 2005 или VS 2008 удаляет файл app_offline.htm, снова переводя приложение в онлайн-режим.

Нашёл здесь...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top