2010-06-08 5 views
19

Я работаю в ASP.NET MVC. Я использую частичные представления, но когда я нажал на конкретную ссылку, я получил следующую ошибку.500 Внутренняя ошибка сервера в ASP.NET MVC

500 Внутренняя ошибка сервера

Как может быть исправлена ​​эта ошибка?

+0

Отключите дружественные сообщения об ошибках в вашем браузере и разрешите отладку в вашем приложении, а затем сообщите нам об ошибке, чтобы мы могли помочь вам лучше. – Sev

+0

Совет по возврату вашего сервера для получения более подробной информации об ошибке может быть полезен: http://stackoverflow.com/q/5385714/12484 –

ответ

4

500 Ошибка сервера означает, что сценарий выкинул ошибку, это не сломанная ссылка (например, ошибка 404).

Если вы используете Internet Explorer, перейдите к tools > options > advanced и отмените выбор friendly http errors, это даст вам более полное описание ошибки, чтобы вы могли отлаживать сценарий или обращаться к соответствующим людям для его отладки.

39

Чтобы проверить причину ошибки внутреннего сервера 500 в ASP MVC, вы также можете запустить приложение в режиме отладки и проверить свойство AllErrors.
Свойство представляет собой массив элементов типа исключения.

Для этого откройте Global.asax.cs (C#) и в теле класса 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

Это помогло мне решить какое исключение было выбрано и, возможно, увидеть стек.

+0

Отличный ответ! Я попытался проверить вкладку сети, но он никогда не дал мне подробных ошибок. Он просто заявил, что он не смог загрузить ресурс. Это решение указывало на проблему с моим конструктором viewmodel. Благодаря! – usr4896260

+0

Что делать, если я получаю 'this.Context.AllErrors' значение null? –

+0

Я пробовал это решение, но я получил this.Context.AllErrors = null ... так что после его копания я узнал, что в моей модели, с которой я связан, я украсил одно из целочисленных свойств с помощью «[MaxLength (6, ErrorMessage = «Pincode должен быть действительным.»)] «После удаления этого он отлично работал для меня. –

0

Хотя немного поздно, токен Anti-Forgery блокирует запрос в качестве меры безопасности.

Снятие всех этих тегов анти-подделки в .cshtml и контроллере, удалите ошибку для меня.

Хотя, если вы хотите сохранить эти маркеры успешно использовать эту ссылку: - http://iamdotnetcrazy.blogspot.com/2013/08/how-to-solve-anti-forgery-token-could.html

1

я получил более подробную информацию об ошибке из окна просмотра событий (Run> eventvwr.msc> Журналы Windows> Application). Проверьте предупреждения/ошибки, записанные с помощью w3wp.exe

В моем случае причиной было отсутствие DLL. Надеюсь, это поможет

Смежные вопросы