500 Внутренняя ошибка сервера в ASP.NET MVC
Я работаю в ASP.NET MVC. Я использую частичные представления, но когда я нажал на конкретную ссылку, я получил следующую ошибку.
500 Внутренняя ошибка сервера
Как можно устранить эту ошибку?
Ответы
Ответ 1
500 Ошибка сервера означает, что ошибка script вызвала ошибку, это не сломанная ссылка (например, ошибка 404).
Если вы используете Internet Explorer, перейдите к tools > options > advanced
и отмените выбор friendly http errors
, это даст вам более полное описание ошибки, чтобы вы могли отлаживать script или обращаться к соответствующим людям для его отладки.
Ответ 2
Чтобы проверить, что вызывает ошибку внутреннего сервера 500 в ASP MVC, вы также можете запустить приложение в режиме отладки и проверить свойство AllErrors.
Свойство представляет собой массив элементов типа исключения.
Для этого откройте Global.asax.cs
(С#) и в теле класса MvcApplication
введите метод Application_EndRequest
:
protected void Application_EndRequest()
{ //here breakpoint
// under debug mode you can find the exceptions at code: this.Context.AllErrors
}
Затем установите точку останова и проверьте содержимое массива: this.Context.AllErrors
Это помогло мне решить, какое исключение было брошено, и, возможно, увидеть стек.
Ответ 3
Я получил более подробную информацию об ошибке из окна просмотра событий Windows (Run > eventvwr.msc > Журналы Windows > Приложение). Проверьте предупреждения/ошибки, записанные с помощью w3wp.exe
В моем случае причиной было отсутствие DLL. Надеюсь, что это поможет
Ответ 4
Хотя немного поздно, токен Anti-Forgery блокирует запрос в качестве меры безопасности.
Удаление всех этих тегов анти-подделки в .cshtml и контроллере удалило ошибку для меня.
Хотя если вы хотите, чтобы эти токены успешно использовали эту ссылку:
http://iamdotnetcrazy.blogspot.com/2013/08/how-to-solve-anti-forgery-token-could.html