2012-06-12 5 views
1

У меня есть значения по умолчанию для тестирования моего кода, но по соображениям безопасности эти значения должны быть установлены только тогда, когда мое приложение работает под ASP.NET Development Server, а не в Production. Как я могу программным образом определить, где работает мое приложение?Как узнать программно, если мое приложение работает под «ASP.NET Development Server»?

ответ

3

Метод состоит в том, чтобы добавить свойство к вашему конфигу, которое может быть установлено с использованием файла преобразования кодировки. В вашем web.config может быть правка «DEV». В вашем файле производственного преобразования ваш «DEV» может быть ложным. С помощью этого метода вы даже можете оценить значение, например, если вы участвуете в постановке, тестировании, предпроизводстве. Это метод, используемый для изменения строк соединения.

Файл преобразования используется для изменения различных значений в вашем config в зависимости от вашего развертывания.

Вот еще чтение: How to: Transform Web.config When Deploying a Web Application Project

+0

Эта ссылка была действительно полезна, спасибо. –

1

Это очень плохой способ определить, работает ли ваше приложение локально или на производстве. Лучшим способом является использование значений времени выполнения web.config (с соответствующим преобразованием для режимов Debug и Release) или даже для компиляции временных условий (#if DEBUG ... #endif).

0

Если на «ASP.NET сервер разработки» вы имеете в виду сервер Cassini входит в состав Visual Studio, нет поддерживаемый способ сделать это.

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

System.Environment.CommandLine 

, который будет содержать «... WevDev.WebServer ...» при работе под Cassini.

 Смежные вопросы

  • Нет связанных вопросов^_^