Я только что попытался развернуть мое первое веб-приложение в IIS на своем ноутбуке Windows 7 Home Premium. После создания приложения мне пришлось перейти в Classic App Pool, а затем установить этот пул для фреймворка 4.0. Теперь я получаю следующую ошибку:
Ошибка HTTP 404.17 - Не найдено. Запрошенный контент представляется скриптом и не будет обслуживаться статическим обработчиком файлов.
Запрошенный URL-адрес: http://localhost: 80/pvmms/default.aspx
Боюсь, что обширный Гуглинг не дал мне ничего четкого или определенного для меня отношения, и, как обычно, я обратился к экспертам.
EDIT: Я подозреваю, что это связано с отсутствием сопоставлений обработчика framework 4.0 для файлов.aspx. Тем не менее, aspnet_regiis даже дает моему администратору палец и говорит, что мне нужны права администратора для его запуска.
EDIT # 2: Я зарегистрировал все фреймворки (2 и 4, 32 и 64), и теперь все работает. Я нашел это, вручную добавив карту сценария для .aspx
в aspnet_isapi и voila. Я не понимаю, почему установка фреймворка не делает этого, если только моя память не удалась, и я включил только IIS после установки VS.
Возможно, слишком поздно, но чаще всего вам нужно запускать
aspnet_regiis.exe -i
после установки asp.net. Возможно, я сделаю это в любом случае.
В дополнение к выше, если вам нужна поддержка WCF, вам может потребоваться выполнить следующее:
c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i
Замените v3.0 на любую текущую версию фреймворка.
Если вы используете iis 7.5.
Просто зайдите в диспетчер IIS, откройте свойства своего веб-сайта.
Вы увидите раздел "Сопоставления обработчиков", просто перейдите в этот раздел и найдите "staticFile".
Скорее всего, это последний файл в списке.
Затем щелкните правой кнопкой мыши на нем и выберите "Восстановить родителя".
Я потратил столько времени, пока я столкнулся с этим в первый раз, так как это решит вашу проблему.
Я столкнулся с этой ошибкой из IIS 8.5 при попытке доступа к службе WCF, которую я написал. Оказывается, сервер не включил функции активации HTTP WCF. Проверял ящики и щелкал через мастер, iisreset, начал работать.
У меня была эта проблема с Windows Server 2012 с ASP.NET 4.5, вы не можете использовать aspnet_regiis.exe, и просто нужно установить ASP.NET 4.5 с помощью мастера добавления ролей и возможностей:
Вы можете найти пункт меню "Добавить роли и функции" в меню "Управление" в правом углу Диспетчера серверов
Я знаю, что это старый вопрос, но у меня только что было это с приложением 3.5 на моей восстановленной машине под управлением Windows 8, и я все еще получал это после aspnet_regiis -iru
, и оказалось, что ASP.NET 3.5 wasn ' t отмечены в пределах возможностей разработки приложений (недостаточно репутации для публикации изображения).
должен проверить эту опцию, предположим,
Я решил эту проблему, включив WCF Services
Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node
Но вы должны признать, что это ENIRE IIS setup configure/guess/trial и см./попробуйте это/попробуйте, что тратит 4 или 5 наших дней, пытаясь найти решение вокруг подхода. COMPLETE AND UTTER JOKE.
ЖЕСТКО, "ИИС" - САМЫЙ БОЛЬШОЙ ДУХОВНЫЙ ТРЕЙК, КОГДА-ЛИБО ИГРАТЬ НА ЧЕЛОВЕЧЕ К ДАТЕ
Существует вероятность того, что пул приложений, созданный для вашего приложения по умолчанию, - это версия 2. Итак, хотя вы видите обработчик для расширения .svc в списке, он не работает и рассматривает его как статический файл. Все, что вам нужно, это открыть свойства пула приложений и переключить его на версию 4.
Зарегистрируйте asp.net снова.... решит проблему.
Перейдите в Visual Studio Command Prompt,
И зарегистрируйте asp.net как windows\microsoft.net\Framework [.Net version num]\aspnet_regiis.exe -i
У меня была такая же проблема на машине Windows 8, которую я настраиваю. Я установил vs2012 перед vs2010, который устанавливает .NET framework 4.5. У меня есть пулы приложений, запущенные в 4.0. Я убедился, что у меня есть aspnet, зарегистрированный для 4.0, используя aspnet_regiis -i. Это все еще не помогло. Затем я открыл функции Windows и заметил, что 4.5 добавлен набор под названием ".NET Framework 4.5 Advanced Services". Я включил службу WCF node и ее дочерние элементы, а затем моя конечная точка svc работала правильно. Надеюсь, это поможет людям, которые переходят на Windows 8.
Я наткнулся на этот вопрос, когда столкнулся с тем же вопросом. Основной причиной моей проблемы был неправильно настроенный пул приложений. Он был установлен для 2.0 непреднамеренно, когда ему нужно было установить значение 4.0. Ответ по следующей ссылке помог мне раскрыть эту проблему: http://forums.iis.net/t/1160143.aspx
Для других людей, читающих это:
Это может произойти, если зарегистрированная версия .Net не выбрана в разделе "Основные настройки" пула приложений, прикрепленного к вашему веб-сайту. Например, ваш пул приложений для сайтов имеет .Net v2.0, но вы зарегистрировали v4.0
Еще одно возможное решение, которое я обнаружил с тем же сообщением об ошибке.
При попытке настроить веб-приложение .NET 4.0 на новый пул приложений я получал эту странную ошибку, сообщающую мне, что он пытался обработать мой файл aspx с помощью статического обработчика файлов, что не имеет смысла.
По какой-то причине ISAPI для .NET 4.0 был отключен в области ISAPI и CGI Restrictions на уровне сервера в диспетчере IIS. Установить его для включения было все, что требовалось, однако диспетчер IIS 7.5 настолько запутан, что ему трудно следовать, мне потребовалось много времени, чтобы понять это.
Я предполагаю, что, поскольку это было приложение 4.0, которое не могло обрабатываться 4.0 Engine, по умолчанию использовался обработчик статических файлов.
У меня была та же проблема. Когда я добавил Static content feaute для IIS, он отлично работает.
cmd → щелкните правой кнопкой мыши → Запуск от имени администратора
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
Для Windows 10/Framework 4.7 мне пришлось включить HTTP-активацию с помощью следующего метода:
это может быть несколько причин, в моем случае в разделе Application pool- > advance setting- > Enable 32-bit application (должно быть верно). Ранее было установлено значение false.
У меня была такая же проблема, я просто изменил версию целевой платформы на веб-сайте на версию, в которой она была разработана, в IIS. Это решило мою проблему. Надеюсь, это поможет...
Спасибо
Один из худших сценариев, который я только что решил, - это конфликтная запись в Web.config.
На моей локальной машине у меня не было расширения .woff, зарегистрированного в IIS, поэтому я добавил его с помощью Web.config. Но на производственном сервере .woff зарегистрирован тип mime. Это вызвало конфликт уровня приложения.
Забавная часть - для этого нет ошибок. Просто угадайте работу (в первый раз, конечно).
Итак, для меня решение было просто удалить и/или элементы из web.config.
Я получил это сообщение для приложения на iis 7.5 с классическим пулом приложений, назначенным для .net 2.0. Мне нужно было перейти к сопоставлениям Handler и добавить две карты script, оба были одинаковыми, за исключением имени. одно имя было svc-ISAPI-2.0-64, другое - svc-ISAPI-2.0. Путь запроса был .svc. Исполняемый файл был% SystemRoot%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll. я перезапустил iis, и все были счастливы
Используя диспетчер IIS, я обнаружил, что файлы .aspx были сопоставлены (под "сопоставлениями обработчиков" ) с ISAPI 2.0 - даже несмотря на то, что ранее был установлен ASP.NET 4.5. Редактирование их, чтобы указать (также) на исполняемый файл для ISAPI 4.0 64bit, устранило проблему.
Исполняемый файл был найден в % Windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
Перейдите к своему вкусу .Net и архитектуры архитектуры CPU с помощью CMD или powershell
Введите эту команду: aspnet_regiis –r