Программно определить, выполняется ли код в IIS Express

Я не уверен, что это вообще возможно, но я надеюсь на подсказку, чтобы определить, работает ли код, который в настоящее время выполняется, под IIS Express. Мое лучшее приближение на данный момент, которое невероятно хакерское и в какой-то момент обязательно сломается:

bool IsExpress = 
  Request.ServerVariables["SERVER_SOFTWARE"] == "Microsoft-IIS/7.5"
  && Int32.Parse(Request.ServerVariables["INSTANCE_ID"]) > 1000000000;

Конечно, должен быть лучший способ. Мое исследование объектов Application, Server и Request, похоже, не выявило ничего, что могло бы дать лучшее понимание. Возможно, мне просто нужно посмотреть на какой-то другой объект?

Обновление:

Мне действительно любопытно, есть ли способ обнаружить это - на данный момент это действительно академический вопрос, у меня нет острой необходимости его использовать . Оригинальный вопрос остается в силе. Но в духе ответа на комментарии, в частности, мне интересно ответить на критику из другого вопроса/ответа на этом сайте: Как искать карту MIME сервера. Критика заключается в том, что опубликованный ответ не работает для IIS Express, а только для традиционных экземпляров IIS. IIS Express хранит конфигурацию MIME в XML-файле applicationhost.config, и я хотел бы обновить этот ответ, чтобы предоставить способ вернуть эту информацию и для IIS Express. Конечно, я мог бы просто добавить код, который берет соответствующее значение из XML (ура, LINQ to XML!), но я действительно хотел бы сделать его умнее.Чтобы было ясно, мне не нужна помощь в анализе этого файла — просто что-то более элегантное в попытке определить, выполняется ли в данный момент код в движке IIS Express.

Обновление 2:

Бета-версия IIS 8.0 Express Beta была выпущена на этой неделе, и это также показывает, что подход в моем вопросе хрупок и сломается. Хотя нацеливание на конкретную версию не является препятствием, было бы неплохо учесть это и попытаться убедиться, что код будет работать по крайней мере с известными сегодня версиями.

23
задан Community 23 May 2017 в 12:02
поделиться