«Запрашиваемая вами страница не может быть обработана из-за конфигурации расширения». Сообщение об ошибке

212

Я получаю это сообщение об ошибке при попытке запустить приложение. Я не знаю, как это исправить:

Ошибка HTTP 404.3 - не найдена Страница вы не можете подавать запрос из-за расширения конфигурации. Если страница является script, добавьте обработчик. Если файл необходимо загрузить, добавить MIME-карту.

Вот скриншот страницы с ошибкой: Изображение 443

Что я могу сделать, чтобы исправить эту ошибку?

  • 1
    исходный код был бы более полезным, чем страница с ошибками
  • 1
    Какую часть исходного кода вам нужно увидеть?
Показать ещё 1 комментарий
Теги:
iis

15 ответов

141
Лучший ответ

Используйте aspnet_regiis.exe, чтобы зарегистрировать версию используемой платформы .NET.

Это обычная проблема и происходит, когда IIS устанавливается после VS или .NET framework.

Примечание - для пользователей Windows 8/10 см. другой ответ JohnOpincar ниже. А также комментарий/отзыв от Кевина Брайдона.

  • 11
    На самом деле я сначала установил Visual Studio, а затем IIS. В настоящее время я запускаю команду "aspnet_regiis.exe -i". Надеюсь, это исправит ошибку.
  • 5
    Сработало и у меня, когда я получил эту ошибку при попытке получить доступ к службе WCF .svc.
Показать ещё 3 комментария
168

В Windows 8/10 вам необходимо использовать программы и функции, включить или отключить функции Windows, IIS, службы World Wide Web, функции разработки приложений и проверить соответствующие элементы, например включить ASP.NET.

  • 201
    Я должен был проверить .NET Framework 4.5 Advanced Services > WCF Services > HTTP Activation
  • 11
    выполните эту команду из командной строки администратора: «dism / Online / Enable-Feature / NameName: WCF-HTTP-Activation / all» или «dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation45 / all»
Показать ещё 8 комментариев
65

В моем случае мне нужно было добавить типы MIME для каждого расширения файла, которое я хотел бы обслуживать в веб-конфигурации:

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>
  • 2
    1+ это .json мою проблему ... я пытался загрузить .json и я продолжал получать ошибку OP, и в конце концов я добавил mimeMap в мой web.config и решил проблему
  • 0
    Нужно ли также добавлять MIME-тип для файла asmx?
Показать ещё 2 комментария
41

Я исправил это на моей Windows 10:

  • Перейдите на панель управления - Программы и функции - включите или отключите функции Windows.

  • Выберите .NET Framework 4.6 Дополнительные службы - службы WCF

  • Проверьте активацию HTTP.

  • Сделано ОК.

  • 4
    У меня работает на Windows 10! Спасибо!
  • 1
    У меня работает и на win 8.1
Показать ещё 6 комментариев
18

В случае, если это помогает кому-либо, я получал эту ошибку при попытке запустить aspnet_regiis.exe:

Не удалось выполнить операцию с 0x8007000B

Была сделана попытка загрузить программу с неправильным форматом

Как оказалось, на сервере выполнялся 64-разрядный бит 2008 года, и я пытался запустить 32-разрядную версию утилиты. Исправлена ​​проблема с версией, найденной в \Windows\Microsoft.NET\Framework64\v2.0.50727.

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i
7

У меня была такая же ситуация с моим клиентом. У нас есть собственный продукт, который устанавливает веб-сайт. Установщик настраивает все: пул IIS, сайт, web.config и т.д.

Мы установили другой веб-сайт, используя наш установщик. Мы ввели те же параметры, поэтому web.configs оказались одинаковыми на обоих сайтах.

Однако недавно установленный сайт работал нормально, а старый - нет. Затем я открыл 2 окна диспетчера IIS и начал сравнивать разницу в настройках веб-сайта. И я нашел проблему.

Кто-то удалил все сопоставления обработчиков со старым сайтом. Если вы перейдете к "сопоставлениям обработчиков", вы увидите там aspx, asmx и другие расширения и имена обработчиков. Итак, на старом сайте все эти записи отсутствовали.

Итак, я бы предложил сначала проверить "сопоставления обработчиков" - там должно быть много записей. Создайте новый веб-сайт и сравните его, чтобы узнать, сколько должно быть.

Кто удалил их, человека или другую программу, я понятия не имею. Если кто-то может сказать, существует ли какое-либо приложение отслеживания, которое сообщит, что пользовательский домен \john модифицировал веб-сайт на дату "07.03.2012 12:34", что было бы полезно.

3

Запуск Windows Server 2008 R2 64bit и .net framework 4.5, выполнил эту команду из этого места и прошел успешно:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i

выход:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.0).
.....
Finished installing ASP.NET (4.0.30319.0).
3

Я исправил свою проблему на сервере Windows 2012, установив все функции WCF.

A) Диспетчер серверов > Управление [левая верхняя левая] > Добавить роли и функции

B) В функциях > .Net Framework 4.5. Функции > Службы WCF

C) Проверить (включить) функции. Я проверил все.

D) Установите

  • 1
    Я проверил только HTTP Activation и TCP Activation, и у меня это сработало. В любом случае, спасибо!
3

Как упоминалось в @Mahmoodvcs, мне нужно было установить/добавить типы MIME для расширения файла, которое мне нужно было непосредственно загрузить/загрузить, в этом случае это файл дампа Heroku (резервная копия базы данных postgres), поэтому, чтобы установить общедоступную IIS, где вы можете загружать эти файлы, не требуя веток AWS S3 или общих ресурсов HTTP, таких как dropbox, это потрясающий вариант!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>

2

У меня тоже была эта ошибка, на Windows Server 2008 IIS 7 у меня не было визуальной студии, поэтому переустановка/восстановление .NET 4.0 сделала трюк.

2

Кстати, я только что узнал этот пост: http://blogs.msdn.com/b/webtopics/archive/2010/03/19/iis-7-5-how-to-enable-iis-configuration-auditing.aspx в нем объясняется, как проводить аудит изменений в IIS. Для тех, кто сталкивается с подобными проблемами, я предлагаю включить аудит, а затем посмотреть, почему ваш сайт перестает работать.

1

Чтобы добавить расширение для обслуживания в IIS, выполните следующие действия:

  • Откройте диспетчер IIS и перейдите к уровню, который вы хотите управлять.
  • В представлении "Возможности" дважды щелкните MIME-типы.
  • На панели "Действия" нажмите "Добавить".
  • В диалоговом окне "Добавить тип MIME" введите расширение имени файла в текстовое поле "Расширение имени файла".... Введите тип MIME
  • в текстовом поле типа MIME.
  • Нажмите "ОК".
  • 1
    Я проверил это решение в случае .ts (Type Script Files), который вы должны объявить в полях Typescript типа MIME (.ts). Я использую text / x.typescript в качестве mime-типа.
0

Что касается сервера 2016, я должен добавить:

  • Запустите эту команду: aspnet_regiis -lv из этого каталога: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ Это дает вам лучший взгляд на происходящее

  • На сервере 2016 установка .net и iis из последовательности не Кажется, проблема.

  • Что более вероятно, будет проблемой на сервере 2016, просто asp.net не установлен на машине.

0

Я пытался настроить MediaWiki на моем компьютере с Windows 7 и получил эту ошибку.

Моим решением было "создать глобальное сопоставление обработчика FastCGI для php" .

0

Убедитесь, что пул приложений в IIS (в случае IIS7 или выше) выбран как интегрированный. В этом случае, вероятно, изменение в Classic может решить эту проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню