404, когда страница существует - IIS 5, ASP.NET 4.0
У меня есть веб-сервер под управлением Server 2003 Datacenter и IIS 5, на котором размещаются различные сайты ASP.NET 2.0. Я пытаюсь добавить сайт ASP.NET 4.0, который я написал через бета-версию VS2010, и у меня установлена .NET 4.0 бета-версия 1 на сервере.
Веб-сайт настроен правильно; Анонимный доступ включен, он указывает на нужную папку и настроен на asp.net 4.0.
Почему он может выдавать ошибку 404 при просмотре как локально, так и удаленно?
5 ответов
Включено ли ведение журнала? Если это не так, включите его. Если он включен, проверьте, записана ли соответствующая запись в файл журнала, и проверьте, совпадают ли все его данные.
Если запись не пишется, возможно, неправильный веб-сайт в IIS обслуживает контент по вашему запросу (проверьте имя хоста, на котором он прослушивает).
Наконец, вы уверены, что это IIS 5? Я думал, что 2003 поставляется с IIS 6?
404 Подстатус 2 в IIS означает: "Политика блокировки расширений веб-служб предотвращает этот запрос". Более дружелюбное сообщение в IIS7 для 404.2 гласит: "Запрашиваемая вами страница не может быть обработана из-за настроек списка ограничений ISAPI и CGI на веб-сервере.".
Проверьте следующие статьи базы знаний на предмет возможных исправлений:
http://support.microsoft.com/kb/328419/ http://support.microsoft.com/kb/328505/ http://support.microsoft.com/kb/328360/
В IIS6 и 7 подстатусы http содержат важную информацию для полной проверки списка:
IIS5 и 6: http://support.microsoft.com/kb/318380
Вам просто нужно включить веб-расширение для ASP.NET 4.0 в IIS.
Проверьте файл metabase.xml... есть ли 1 в начале строки для Framework\V4.0.21006 в WebSvcExtRestrictionList?
У меня была та же проблема, и установка ее на "1" (включена) вылечила проблему. В ASP.NET 4.0 Beta 1 такой проблемы не было. Проблема появилась только при установке ASP.NET 4.0 Beta 2.
Вот как это выглядело ДО устранения проблемы:
WebSvcExtRestrictionList="0,C:\SERVER\system32\inetsrv\httpodbc.dll,0,HTTPODBC,Internet Data Connector
0,C:\Perl\bin\perlis.dll,1,,Perl ISAPI Extension
0,C:\SERVER\system32\inetsrv\httpext.dll,0,WEBDAV,WebDAV
0,C:\Perl\bin\PerlEx30.dll,1,,PerlEx ISAPI Extension
0,C:\Perl\bin\perl.exe "%s" %s,1,,Perl CGI Extension
1,C:\SERVER\system32\inetsrv\asp.dll,0,ASP,Active Server Pages
1,C:\SERVER\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,0,ASP.NET v2.0.50727,ASP.NET v2.0.50727
0,*.exe
0,*.dll
0,C:\SERVER\system32\inetsrv\ssinc.dll,0,SSINC,Server Side Includes
0,C:\SERVER\Microsoft.NET\Framework\v4.0.21006\aspnet_isapi.dll,0,ASP.NET v4.0.21006,ASP.NET v4.0.21006"