Подтвердить что ты не робот

Пользовательский файл app_offline.htm во время публикации

Когда я публикую свое приложение ASP.NET MVC, он создает файл app_offline.htm, чтобы отключить сайт, пока он обновляет веб-сайт, а затем удаляет файл после успешной публикации.

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

EDIT: Из комментариев к сообщению Scott Gu о app_offline.htm кажется, что настройка файла app_offline.htm не была возможна с VS 2005 - это изменилось с VS 2008 и теперь VS 2010?

4b9b3361

Ответ 1

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

C:\Users\[user]\AppData\Roaming\Microsoft\VisualStudio\11.0\app_offline.htm

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

Ответ 2

Я использую свои собственные

app_offline.htm_

в решении, которое публикуется. Мое развертывание script затем переименовывает его (удаление конечного _), чтобы сделать его активным.

Затем я могу запустить свои сценарии db/сделать то, что потом переименуйте файл, возвращающий сайт.

Ответ 3

Легкое решение, которое многие могут найти подходящим, включает простое добавление собственного файла с именем "app_offline.htm" к вашему решению.

Я тестировал этот метод, используя Visual Studio 2015, и он действительно работает.

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

Это означает, что ваш пользовательский app_offline.htm файл быстро (но не мгновенно) перезаписывает сгенерированный системой файл. Поэтому (уродливая) сгенерированная системой копия app_offline.htm может быть отправлена ​​на запросы в течение 1-2 секундного окна инициирования публикации, прежде чем обновляться с вашим пользовательским файлом.

Процесс публикации автоматически удаляет app_offline.htm с удаленного сервера независимо от его содержимого или источника.

Преимущество (над заменой системной копии) заключается в том, что ваша собственная копия переносима, автоматически зависит от конкретного решения и работает с контролем источника.

Я знаю, что этот вопрос старый, но я надеюсь, что это поможет другим справиться с этой проблемой.

Ответ 4

Вы можете использовать командный файл, который вызывает компилятор с текущей информацией о каталоге как параметры... Затем он копирует app_offline.htm и копирует новый файл. Запустите его, откуда находится источник.

Я лично использую программу, которая немного более сложна, чем пакетная, а также проверяет хэш файлов, чтобы определить, нужно ли им обновлять, делает zip новых файлов и извлекает их на удаленный хост и исключает файлы, которые мы обозначаем, для при тестировании на производство. Я также объединил интеграцию SVN в свое решение, поэтому, когда вы публикуете для тестирования или производства, вы также произвольно передаете SVN. Программа хранится на сетевом диске и вызывается из пакетного файла на локальном ПК с текущей информацией о директории. Таким образом, разработчикам не нужно обновлять новый развертыватель или приложение appoff, если происходят какие-либо изменения. Наконец, он удаляет app_offline.

Зайдите http://msdn.microsoft.com/en-us/library/system.web.compilation(v=vs.80).aspx для получения дополнительной информации или http://msdn.microsoft.com/en-us/library/ms229863(v=vs.80).aspx если вы просто делаете быстрый пакет!

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

Ответ 5

Эндрю быков отвечает, как шарм! хотя это зависит от того, какую визуальную студию вы используете.

C:\Users\USERNAME\AppData\Roaming\Microsoft\VisualStudio

- это каталог, в который вы должны сначала приземлиться, выберите свою версию VS [8.0/9.0.....] и отредактируйте файл app_offile.htm.

Ответ 6

Для пользователей Visual Studio Express 2013 для Интернета файл находится в папке C:\Users [user]\AppData\Roaming\Microsoft\VWDExpress\12.0

Это может быть изменено для ваших нужд.

Ответ 7

Еще в 2006 году Скотт Гу сказал, что не существует способа настроить файл, который VS генерирует в публикации.

Комментарий в оригинальной статье

Мне тоже было бы интересно это решить, но я не смог включить в Google что-то совершенно иное.

Ответ 8

Вы видели это?

App_Offline.htm

Это может быть не совсем то, что вы хотите, но оно решает проблему, я думаю.