Назад | Перейти на главную страницу

Внутренняя ошибка сервера HTTP 500 при развертывании MVC3

Я пытаюсь развернуть приложение MVC3 в IIS 7.5 На каждом маршруте я получаю HTTP 500 - внутренняя ошибка сервера:

Error Summary
HTTP Error 500.0 - Internal Server Error
The page cannot be displayed because an internal server error has occurred. Detailed Error Information
Module ManagedPipelineHandler 
Notification ExecuteRequestHandler 
Handler System.Web.Mvc.MvcHandler 
Error Code 0x00000000 
Requested URL http://www.xxxxxx.com:80/Home/Index
Physical Path C:\inetpub\wwwroot\xxxxxx.com\Home\NoAccess 
Logon Method Anonymous 
Logon User Anonymous 
Failed Request Tracing Log Directory C:\inetpub ..

Я могу запрашивать простые файлы HTML или обычные файлы aspx со встроенным кодом. Включена трассировка невыполненных запросов, и трассировка запросов показала одно предупреждение:

131. -MODULE_SET_RESPONSE_ERROR_STATUS 
ModuleName ManagedPipelineHandler 
Notification 128 
HttpStatus 500 
HttpReason Internal Server Error 
HttpSubStatus 0 
ErrorCode 0 
ConfigExceptionInfo  
Notification EXECUTE_REQUEST_HANDLER 
ErrorCode The operation completed successfully. (0x0) 

Когда я пытаюсь воссоздать сайт в IIS и проверяю соединение, я получаю сообщение об ошибке «Не удается проверить доступ к пути». Я дал полный контроль над сетевой службой, и удостоверение пула приложений также является сетевой службой.

Платформа установлена ​​на 4.0, управляемый режим конвейера = интегрированный.

Любые идеи .. или требуется дополнительная информация?

Взгляните сначала сюда: https://stackoverflow.com/questions/5349867/error-handling-in-asp-net-mvc3

Обновление: если это не поможет - прочтите это обсуждение (особенно последний пост на странице 2): http://forums.asp.net/t/1657582.aspx/2/10?Error+500+0+when+MVC+runs+on+IIS7

Обновление 2: это тоже выглядит очень многообещающим: http://forums.asp.net/t/1652026.aspx/1

удалять <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /> из httpHandlers

и добавить <add verb="POST,GET" name="scripthandlerajaxFactory" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /> к обработчики

Пожалуйста, проверьте в приложении, возможно, это предполагаемое поведение.

У меня была точно такая же проблема, я проверил все очевидные разрешения (разрешение IIS APPPOOL \ AppPoolName для файловой системы и базы данных, доступ прошедших проверку пользователей к каталогам «Сценарии» и «Контент») и все равно не повезло. Даже Process Monitor не помог, логов сбоев доступа не было.

Решение было простым - 403.0 был правильным кодом ответа. Я считал, что веб-приложение должно возвращать стандартное представление, в котором говорится, что «ваша учетная запись домена не указана в базе данных, поэтому уходите» (как и все приложения в этом проекте, это соглашение, которое мы используем). Но для этого приложения разработчик сделал другое и вернул простой 403.0, который IIS «украсил».