Подтвердить что ты не робот

Проблема ASP.net 4.0 default.aspx на IIS6

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

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

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

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

4b9b3361

Ответ 1

Найденное исправление в кажущемся несвязанном месте - попробуйте установить раздел реестра "EnableExtensionlessUrls" в 0:

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

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

  • Создайте новое значение DWORD с именем EnableExtensionlessUrls.
  • Установите EnableExtensionlessUrls равным 0. Это позволяет использовать поведение URL без продолжения.
  • Сохраните значение реестра и закройте редактор реестра.
  • Запустите средство командной строки iisreset, которое заставляет IIS читать новое значение реестра.

Ответ 2

Здесь вы найдете ответ 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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

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

Это позволяет мне снова использовать неограниченные URL-адреса.

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

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

Ответ 6

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

Ответ 7

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

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