ASP.net 4.0 default.aspx проблема на IIS6 - PullRequest
11 голосов
/ 14 апреля 2010

Я установил .net Framework 4 на моем Windows 2003 Enterprise x64, написал простое приложение asp.net 4.0 (только страница default.aspx). Приложение прекрасно работает, если запрос к default.aspx, а не к корневому сайту:

contoso.com / - не работает (ошибка 404)

contoso.com / default.aspx - работает.

Default.aspx находится в списке документов по умолчанию в IIS. Пожалуйста, помогите.

Ответы [ 7 ]

20 голосов
/ 16 июня 2010

Обнаружено исправление в, казалось бы, не связанном месте - попробуйте установить для параметра реестра «EnableExtensionlessUrls» значение 0:

Изменения ASP.NET 4 -> Приложения ASP.NET 2.0 могут генерировать ошибки HttpException, которые ссылаются на eurl.axd :

В реестре Windows откройте следующий узел: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ ASP.NET \ 4.0.30319.0

  1. Создайте новое значение DWORD с именем EnableExtensionlessUrls.
  2. Установите для параметра EnableExtensionlessUrls значение 0. Это разрешает поведение URL без расширения.
  3. Сохраните значение реестра и закройте редактор реестра.
  4. Запустите средство командной строки iisreset, которое заставит IIS прочитать новое значение реестра.
4 голосов
/ 15 апреля 2010

Ответ вы найдете здесь http://johan.driessen.se/archive/2010/04/13/getting-an-asp.net-4-application-to-work-on-iis6.aspx

.Net 4.0 не позволяет запускаться с IIS, поэтому вам нужно запустить команду (находясь в папке c: \ windows \ system32):cscript iisext.vbs / EnFile C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll или в вашем случае, так как вы используете x64

cscript iisext.vbs / EnFile C: \ WINDOWS \Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll

2 голосов
/ 19 августа 2015

Измените версию ASp.Net с 4.0 на 2.0 и примените ее. и верните обратно версию Asp.Net до 4.0. Это решит проблему.

1 голос
/ 10 февраля 2011

Я использую следующее регулярное выражение как первое правило с Ionics Isapi Rewriter для веб-сайтов, работающих на ASP.NET 4 на IIS 6 для устранения проблем, вызванных критическим изменением , введенным в ASP.NET 4:

RewriteRule ^(.*)/eurl.axd/[a-f0-9]{32}(.*)$ $1$2

Позвольте мне снова использовать URL без расширений.

Обратите внимание, что вторая группа захватывает строку запроса, если она присутствует, и восстанавливает ее до переписанного URL.

И да, это функция, а не ошибка .

1 голос
/ 12 октября 2010

У меня недостаточно очков, чтобы комментировать, но я хотел сказать, что решение от Will WM работает для меня. Добавление EnableExtensionlessUrls в реестр исправило проблему.

В качестве примечания: если вы в любой момент запустите aspnet_regiis, он удалит это значение, и вам нужно будет добавить его снова.

0 голосов
/ 12 августа 2011

Вы также получите эту ошибку в виртуальных каталогах ASP.NET 2.0 в IIS6, если на том же сайте есть другой виртуальный каталог, для которого установлено значение 4.0, а для DefaultWebSite установлено использование ASP.NET 4.0.

Решение состоит в том, чтобы изменить DefaultWebSite обратно на ASP.NET 2.0. Ваш виртуальный каталог 4.0 все еще будет работать под этим веб-сайтом.

0 голосов
/ 14 апреля 2010

Вы уверены, что это default.aspx, а не default.asp в списке документов по умолчанию?

...