Все мы знаем, что должны только публиковать наши веб-приложения ASP.NET с типом сборки конечных версий, итак, почему я не получаю предупреждение, когда я инициировал команду "Publish" в Visual Studio 2008 для проекта, настроенного для создания в режиме отладки?
Несомненно, могли бы быть случаи, где я должен опубликовать отладочную сборку к среде разработки или тестовой среде, но ответ на да в диалоговом окне подтверждения был бы приемлем в этих случаях. Существует ли опция, которую я пропустил, вынудив Visual Studio предупредить меня каждый раз, когда я пытаюсь опубликовать отладочную сборку?
Да, мы могли просто запретить использование команды "Publish" и использовать более твердый инструмент управления сборками, но это включает изменение процесса и не могло бы быть опцией в данном случае.
Я думаю, вам придется проверить вручную, например,
public double void checkValue(double val) throws ArithmeticException {
if (Double.isInfinite(val) || Double.isNaN(val))
throw new ArithmeticException("illegal double value: " + val);
else
return val;
}
Поэтому для вашего примера
double d = checkValue(b*b - 4*a*c);
double x1 = checkValue((-b - Math.sqrt(d)) / 2 / a);
double x2 = checkValue((-b + Math.sqrt(d)) / 2 / a);
-121--2843425- При переходе на страницу с помощью кнопки «Назад» страница перезагружается из памяти, и на сервер не отправляется запрос.
Подтвердить это можно с помощью Fiddler .
Я не уверен, верно ли это во всех браузерах.
-121--3559931-Обычно подобные вещи обрабатываются в автоматизированном инструменте сборки. Честно говоря, я публикуюсь на сайте dev на порядки чаще, чем в производстве.
По этой причине только наличие дополнительного диалогового окна в процессе будет немного безумным.
Кроме того, даже без системы сборки большинство людей имеют различные файлы конфигурации для различных сред и в большинстве случаев обрабатывают их с помощью настройки web.config.
Вы можете установить deployment retail = "true"
на рабочем сервере machine.config
, чтобы не беспокоиться о it
<configuration>
<system.web>
<deployment retail="true"/>
</system.web>
</configuration>
Совет из статьи Скотта Гатри Не запускайте производственные приложения ASP.NET с включенным debug = ”true”
Я постоянно использую Publish для создания и публикации своих сайтов на серверах разработчиков, и вопрос об этом, на мой взгляд, просто раздражает.
Я думаю, что проблема здесь в вашем личном процессе, а не в инструменте. Производственные релизы должны происходить гораздо реже и потребуют от вас изменения местоположения, в котором публикуется сайт, если вы помните об этом, то не будет лишним также ожидать, что вы публикуете правильный тип сборки.