Как я могу узнать, под какой версией IIS работает мое приложение Asp.Net?


Как я могу узнать, под какой версией IIS мое веб-приложение работает на сервере разработки?
Поскольку .Net framework 2.0,3.0,3.5,4.0 имеет встроенную поддержку IIS ....
Спасибо


person Community    schedule 01.07.2009    source источник
comment
Мне любопытно, почему вам нужно знать версию IIS.   -  person tomfanning    schedule 01.07.2009
comment
Почему вы хотите узнать, какая именно версия IIS работает? Если ваше веб-приложение действительно запущено, оно уже должно соответствовать определенным предварительным требованиям, таким как установленный IIS, иначе код не будет запущен.   -  person Doctor Jones    schedule 01.07.2009
comment
@DoctaJones: .Net framework выше 1.1 не требует IIS, .NET framework 2.0,3.0,3.5 имеет встроенную поддержку IIS   -  person Muhammad Akhtar    schedule 01.07.2009
comment
@tomfanning: у меня Windows Vista, на моем компьютере установлены IIS 6 и IIS 7, когда я развертываю веб-сайт, он отлично работает на сервере, размещенном на IIS 6, но не на сервере, размещенном на IIS 6. пожалуйста, проверьте это мое сообщение ... stackoverflow.com/questions/1068153/   -  person Muhammad Akhtar    schedule 01.07.2009
comment
@ tomfanning / @ DoctaJonez: для поддержки обоих вам могут потребоваться некоторые изменения кода (например, как обработчики подстановочных знаков работают с ASP.NET MVC).   -  person Richard    schedule 01.07.2009
comment
почему этот пост стал сообществом, я не знаю, кто его обновил и почему?   -  person Muhammad Akhtar    schedule 14.06.2010


Ответы (5)


Чтобы получить версию веб-сервера IIS, вы можете использовать серверную переменную. .

Request.ServerVariables["SERVER_SOFTWARE"];

Он вернет примерно следующее:

Microsoft-IIS / 5.0 (Windows 2000)

Microsoft-IIS / 5.1 (Windows XP)

Microsoft-IIS / 6.0 (Windows 2003 Server)

Вы можете найти полный справочник переменных сервера здесь.

person Doctor Jones    schedule 01.07.2009

Это доступно прямо из переменной сервера SERVER_SOFTWARE:

HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"];

что представляет собой строку типа «Microsoft-IIS/7.0».

NB, для сервера разработки ASP.NET («Casini») строка пуста.

person Richard    schedule 01.07.2009
comment
Использование сервера разработки = ›без использования IIS, поэтому вопрос не применяется. - person Richard; 01.07.2009

@AnthonyWJones «Возникает вопрос: как приложение ASP.NET определяет, в какой операционной системе оно запущено?»

Вы можете использовать System.Environment.OSVersion

person Doctor Jones    schedule 01.07.2009

Номер версии можно запросить в реестре Windows:

В Windows запустите regedit и перейдите в этот каталог:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\VersionString  

Mine возвращает версию 6.0, потому что я использую Windows 2003 Server.

person Community    schedule 19.07.2011

Я видел, как кто-то уже ответил в определенной степени, но я хотел упомянуть, что лучше всего включить вашу целевую среду .NET в ваше приложение ASP.NET. Таким образом, целевая среда будет присутствовать.

person Community    schedule 19.03.2013