Переполнение стека происходит при обращении к контроллеру - PullRequest
0 голосов
/ 03 июня 2018
public ActionResult Index()
{
    var users = db.Users.Include(u => u.Users1).Include(u => u.User1);
    return View(users.ToList());
}

Создан проект MVC / Entity в Visual Studio, в первую очередь БД.Создано два контроллера, один с именем Users, другой с именем Tasks.Представления страниц для задач работают нормально, но всякий раз, когда я пытаюсь получить доступ к страницам представления пользователя, я испытываю переполнение стека.

Телеметрия Application Insights (не настроено): {"name": "Microsoft.ApplicationInsights.Dev.Request " "время": "2018-06-03T17: 26: 09.6757730Z", "метки": { "ai.cloud.roleInstance": "DESKTOP-2V3VGT6", "ai.operation.id":"lH / a0kZkKsE = "," ai.operation.name ":" GET Tasks / Index "," ai.location.ip ":" :: 1 "," ai.internal.sdkVersion ":" web: 2.5.1-195" , "ai.internal.nodeName": "РАБОЧЕГО-2V3VGT6"}, "данные": { "BaseType": "RequestData", "baseData": { "Ver": 2, "ID": "| Lh /a0kZkKsE = .82dfa1d2 _ "," name ":" Задачи / индекс GET "," duration ":" 00: 00: 04.4166410 "," success ": true," responseCode ":" 200 "," url ":" http://localhost:62166/Tasks","properties":{"DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Requests', Ver: '1.0') "}}}} Произошло необработанное исключение типа 'System.StackOverflowException' в mscorlib.dll

The program '[7192] iisexpress.exe' has exited with code -2147023895 (0x800703e9).

Полная трассировка в: https://pastebin.com/raw/846WTUqE

1 Ответ

0 голосов
/ 03 июня 2018

Сначала удалите второй оператор включения и посмотрите, что за ошибка после этого.Если это не сработает, вы можете попробовать вот такое выражение Select Where.Добавьте ToList () к переменной, а не к возврату.Перемещение ToList () не будет отличаться, но облегчает отладку.

public ActionResult Index()
    {
        var users = db.Users.Select().Where(u => u.Users1).ToList();
        return View(users);
    }
...