ASP. NET MVC 5 приложение на IIS бросает 500 - Внутренняя ошибка сервера - PullRequest
0 голосов
/ 12 февраля 2020

Я получаю 550-внутреннюю ошибку сервера на всех страницах от указанного c контроллера. Все другие представления от других контроллеров дают конкретное представление c.

Контроллер - простой контроллер с функциональностью CRUD.

[Authorize(Roles = "Administrator, Supervisor, Ploeg")]
public class DienstbulletinController : Controller
{
    private readonly DienstbulletinAppContext _db = new DienstbulletinAppContext();

    // GET: Dienstbulletin
    public ActionResult Index()
    {
        var dienstbulletin = _db.Dienstbulletins.Where(a => a.Deleted == false).Include(d => d.Obp)
            .Include(d => d.Ogp).Include(d => d.Opsteller).Include(d => d.Ploeg).Include(d => d.Rechercheur)
            .Include(d => d.Voertuig);
        var data = dienstbulletin.ToList();
        return View(data.OrderByDescending(a => a.Datum.Date).ThenByDescending(a => a.ID).ToList());
    }

    // GET: Dienstbulletin/Details/5
    public ActionResult Details(int? id)
    {
        if (id == null) return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        var dienstbulletin = _db.Dienstbulletins.Find(id);
        if (dienstbulletin == null) return HttpNotFound();
        return View(dienstbulletin);
    }

    // GET: Dienstbulletin/Create
    public ActionResult Create()
    {            
       Dienstbulletin dienstbulletin = new Dienstbulletin ()

        return View(dienstbulletin);
    }
}

в маршрутах следуют объявленным

 var settings = new FriendlyUrlSettings {AutoRedirectMode = RedirectMode.Permanent};
        routes.EnableFriendlyUrls(settings);

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");


        routes.MapRoute(
            "login", // Route name
            "Gebruiker/Login", // URL with parameters
            new { controller = "Gebruiker", action = "Login", id = UrlParameter.Optional }
         );

        routes.MapRoute(
                           name: "Default",
                           url: "{controller}/{action}/{id}",
                           defaults: new { action = "Index", id = UrlParameter.Optional }

Есть идеи, что может быть не так с этим контроллером?

В журнале событий на сервере нет сообщений или подсказок.

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

500 ошибок - необработанные исключения или ошибки конфигурации. Я предполагаю, что один из ваших запросов к БД или создание вашего DienstbulletinAppContext вызывает исключение. И есть несколько мест, где вы можете найти его.

Во время разработки вы можете открыть инструменты отладки браузеров и взглянуть на ответ неудавшегося запроса. Обычно ответы - это страница HTML с сообщением об исполнении.

На сервере вы можете просмотреть журналы IIS.

enter image description here Вы должны найти свой регистрирует в папках, которые названы вашими номерами сайтов W3SV C. Там вы можете увидеть субкод, описывающий, что произошло. Но вы не увидите детали исключения.

Исключения, приводящие к ошибке 500, в основном являются предупреждениями в Windows Application EventLog. Когда я впервые получил 500, я просто искал ошибки в журнале, а не предупреждения. Вы проверяли предупреждения?

0 голосов
/ 12 февраля 2020

Если вы получили ошибку 500.19, я рекомендую проверить папку вашего приложения acls и web.config. Я думаю, что для доступа к локальной папке IIS_IUSRS для чтения web.config с IIS этой папке требуются права на чтение и выполнение. Потому что ошибка 500.19 - это проблема конфигурации.

...