.net. Определить во время выполнения, является ли мое приложение исполняемым или веб-приложением.

Я уверен, что делал это раньше, но я немного просматривал документы и, похоже, не могу найти его снова. Мне нужно иметь возможность определять во время выполнения в моем бизнес-домене, в каком контексте выполняется мое приложение. Чтобы я мог переключаться с помощью файлов конфигурации и использовать соответствующий метод, чтобы определить, выполняю ли я отладку или выпуск и т. Д. Я был вполне уверен, что это было в System.Environment, но я еще не встречал этого.


person Matthew Vines    schedule 04.05.2009    source источник


Ответы (2)


Очень простой способ:

bool isWebApp = HttpContext.Current != null;

Каждый раз работает как шарм.

person Nathan Ridley    schedule 04.05.2009
comment
Обратите внимание: я не думаю, что это сработает изнутри рабочего потока, который был запущен веб-приложением. Однако в этом случае вы, вероятно, могли бы передать предустановленную переменную. - person Nathan Ridley; 04.05.2009

Наконец-то я нашел способ, которым делал это раньше.

bool isWebApp = System.Web.HttpRuntime.AppDomainId != null;

Хотя это почти то же самое, что и ответ Натана. Спасибо за ответ.

person Matthew Vines    schedule 04.05.2009