Ошибка HTTP 500.19 IIS 8 asp.net mvc

Попытайтесь использовать что-то вроде этого:

include(dirname(__FILE__).'/../file.php')

Проблема с родственником включает, то, если Вы не будете в рабочем каталоге, то Вы ожидаете при выполнении файла они перестанут работать. Помните, они относительно getcwd (), не местоположение файла. Используя dirname (ФАЙЛ) обманывают, означает, что они заканчивают относительно своего фактического местоположения на диске.

Обратите внимание, что, если Вы используете 5.3.x или выше, можно использовать DIR вместо dirname (ФАЙЛ)

15
задан 7 June 2013 в 15:18
2 ответа

У нас была такая же ошибка на новом сервере.

Причина заключалась не в политике безопасности IIS по умолчанию, хранящейся в applicationHost.config , как было предложено в другом ответе (хотя мы это проверили). Причина в том, что мы установили IIS без поддержки ASP.NET (роль ASP.NET 4.5)!

Когда мы установили недостающую поддержку ASP.NET, наше приложение просто запустилось без каких-либо изменений в конфигурации.

Заключение:

Дважды проверьте, установлена ​​ли у вас роль ASP.NET вместе с IIS, если вы получите эта ошибка.


Чтобы установить роль ASP.NET в Windows Server:

  1. Откройте мастер добавления ролей и компонентов
  2. Проверьте запись ASP.NET [ваша_версия] в Веб-сервер (IIS) -> Веб-сервер -> Разработка приложений

Чтобы установить роль ASP.NET в клиенте Windows:

  1. Открыть Мастер включения или выключения функций Windows
  2. Проверьте запись ASP.NET [your_version] в разделе Internet Information Services -> World Wide Web Services -> Функции разработки приложений
36
ответ дан 2 December 2019 в 20:46

Ну, он говорит вам, что не так. Раздел system.webServer / Handlers заблокирован где-то еще, что означает, что вы не можете изменить его в файле web.config на текущем уровне (возможно, на веб-сайте).

Либо удалите:

<handlers>
   <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
   <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
   <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
   <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
   <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
   <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

из вашего файла web.config

, либо узнайте, где он был заблокирован, и измените его.
Вероятно, он заблокирован в файле applicationHost.config . Его можно найти здесь: % windir% \ system32 \ inetsrv \ config \ . Откройте его в текстовом редакторе и найдите строку типа

<section name="handlers" overrideModeDefault="Deny" />

. Измените атрибут overrideModeDefault на Разрешить


. Кроме того, вы можете использовать appcmd.exe , чтобы разблокировать раздел для конкретный сайт или приложение, например:

appcmd.exe unlock config "WebSiteName/app" -section:system.webServer/Handlers

Где «WebSiteName» - это имя веб-сайта, а «/ app» - путь к вашему приложению. Чтобы разблокировать его для всего веб-сайта:

appcmd.exe unlock config "WebSiteName" -section:system.webServer/Handlers
0
ответ дан 2 December 2019 в 20:46

Теги

Похожие вопросы