ASP NET MVC CORE 2.2 - Invoke () ViewComponent странным образом генерирует исключение InvalidOperationException - PullRequest
0 голосов
/ 23 февраля 2019

Я занимаюсь разработкой интернет-магазина, в котором у меня есть ViewComponent, который используется для визуализации html корзины покупок в панели навигации веб-сайта.

Я рендеринг компонента представления в общем _Layout.cshtml, выполнивthis:

@await Component.InvokeAsync("NavbarShoppingCart")

Раньше он работал нормально в MVC CORE 2.0, но с тех пор, как я обновился до 2.2, тот же код выдает исключение InvalidOperationException:

InvalidOperationException: метод 'Invoke' представленияКомпонент ProjectName.Web.Views.Shared.NavbarShoppingCartViewComponent не может вернуть задачу.

Вот класс ViewComponent:

public class NavbarShoppingCartViewComponent : ViewComponent
    {
        private readonly IShoppingCartManager shoppingCartManager;

        public NavbarShoppingCartViewComponent(IShoppingCartManager shoppingCartManager)
        {
            this.shoppingCartManager = shoppingCartManager;
        }

        public IViewComponentResult Invoke()
        {
            var shoppingCartId = this.HttpContext.Session.GetShoppingCartId();
            var items = this.shoppingCartManager.GetCartItems(shoppingCartId);

            return View("NavbarShoppingCart", items.Count());
        }
    }

Метод Invoke () явно возвращает представление, а не задача.Я не понимаю, почему это выдает ошибку сейчас.Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...