2010-02-02 3 views
0

Хорошо, это, наверное, тривиальная вещь, чтобы знать - отсюда и трюки! - но кто-нибудь знает о какой-либо разнице в конечном выходе, которая выдавала бы версию используемой среды выполнения?Определить версию ASP.NET из выходного HTML?

Другими словами, если вы посещаете веб-сайт, и знаете, что он создан через ASP.NET, есть ли какие-либо достоверные сведения о разметке, которые выдавали бы, работает ли сайт против 2.0 или 3.5?

ответ

1

№. HTTP-заголовки настраиваются администраторами, поэтому они ненадежны. Например stackoverflow.com говорит:

Server: Microsoft-IIS/7.5 

MSN.com говорит:

X-Powered-By: ASP.NET 
X-AspNet-Version: 2.0.50727 

и 37signals.com говорит:

X-Powered-By: PHP/5.3.0 

И любой может сделать любой PHP сайта отвечают, что это питание по ASP.Net 3.5 или утверждать, что это perl-скрипт, который на самом деле является сайтом ASP. В конце этого дня HTTP - это всего лишь текст, и все заголовки настраиваются кем-то хорошо осведомленным, и они мало что означают с точки зрения доверия.

+0

Вот что я искал. Я должен был уточнить, что я не искал надежного решения или ожидал, что кто-то попробует что-то обманчивое с заголовками. X-Powered-By в Firefoxes Надстройка WebDeveloper дает мне именно то, что я искал. Благодаря! – LoveMeSomeCode

1

Нет ничего гарантированного вывода, который будет указывать на то, что вы ищете.

Это особенно верно, поскольку вы можете создавать обработчики HTTP, которые будут выводить все, что вы хотите.

+0

Энди, мои заголовки текущего проекта указывают, что сайт работает на Pure Evil. –

+0

хорошо, им не обязательно говорить о гарантии. просто то, что имеет тенденцию получать один путь в 2.0, а другой - в 3.5. все на самом деле. – LoveMeSomeCode

+1

@LoveMeSomeCode - В этом отношении нет ничего особенного, есть еще что-то, но ничего не было заменено от 2.0 до 3.5, это все CLR 2.0, и большинство веб-элементов управления из исходной версии 2.0. –

0

Нет такой вещи, как ASP.NET 3.5. Только 2.0 (и вскоре 4.0).

Имейте в виду, что .NET 3.5 - это всего лишь несколько дополнительных сборок поверх некоторых пакетов обновления .NET 2.0. Нет нового CLR, следовательно, нет новой версии ASP.NET.

+1

Я не уверен в этом. В конце концов, Microsoft опубликовала книгу под названием «Microsoft® ASP.NET 3.5 Step by Step». Я знаю, что вы пытаетесь сказать. –

0

ASP.NET 2.0 веб-сайты могут быть запущены v2.0 или v3.5 рамки и ASP.NET 4.0 веб-сайты могут быть запущены v4.0 или v4.5 каркасов

Есть несколько способов проверки точная версия, которую вы используете, на вашей веб-странице добавить:

<%= System.Environment.Version.ToString() %> 

В качестве примера;

  • если вы v4.0 установки вы увидите v4.0.30319.1008
  • если у вас есть v4.5 установки вы увидите v4.0.30319.34209 Это будет получить в настоящее время работает версию. Вы можете проверить реестр для всех установленных версий по адресу:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v4 \ Полное

В этом месте посмотреть на узле версии.

  • если у вас есть v4.0 installated вы увидите v4.0.30319
  • если у вас есть v4.5 installated вы увидите v4.5.51209