Поставщик типов страниц Kentico, предоставляющий исключение нулевой ссылки - PullRequest
0 голосов
/ 25 сентября 2019

У нас Kentico 11.0.26 с MVC

У нас есть тип страницы нижнего колонтитула для широкого нижнего колонтитула сайта.Поля базы данных для этого типа страниц загружаются через базовый контроллер в приложении MVC.Не уверен, почему я получаю исключение нулевой ссылки в сгенерированном Kentico-коде, в этой строке (строка 68 в трассировке стека ниже)

    /// <summary>
    /// Returns a published page of type Footer that matches the specified criteria.
    /// </summary>
    /// <param name="nodeAliasPath">The alias path to the content tree node that represents the page.</param>
    /// <param name="siteName">The name of the site where the page belongs.</param>
    /// <param name="cultureName">The name of the language, e.g. en-US, that determines which localized version should be retrieved.</param>
    public static DocumentQuery<Footer> GetFooter(string nodeAliasPath, string cultureName, string siteName)
    {
        return GetFooters().OnSite(siteName).Culture(cultureName).Path(nodeAliasPath);
    }

Вызов GetFooter в BaseController выглядит следующим образом (строка 47 в трассировке стека ниже):

Footer footer = FooterProvider.GetFooter("/Footer", "en-us", SiteContext.CurrentSiteName)
                .Columns("DocumentName", "PhysicalHeading", "PhysicalAddress", "MailingHeading", "MailingAddress", "PhoneHeading", "PhoneNumbers", "LogoImage", "Link1Text", "Link1URL", "FacebookURL", "TwitterURL", "InstagramURL", "YouTubeURL", "LinkedInURL");

Это полная трассировка стека:

Ошибка сервера в приложении '/'.


Ссылка на объект не установлена ​​для экземпляра объекта.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта.

Ошибка источника: необработанное исключение было сгенерировано во время выполнения текущего веб-запроса.Информация о происхождении и местонахождении исключения может быть идентифицирована с помощью трассировки стека исключений ниже.

Stack Trace:

[NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта.] CMS.DocumentEngine.DocumentQueryBase 2.OnSite(SiteInfoIdentifier siteIdentifier, Boolean includeGlobal) +13 CMS.DocumentEngine.Types.LIT.FooterProvider.GetFooter(String nodeAliasPath, String cultureName, String siteName) in C:\MyWebsite\PageTypes\FooterProvider.cs:68 MyWebsite.Controllers.BaseController.GetFooterModel() in C:\MyWebsite\Controllers\BaseController.cs:47 MyWebsite.Controllers.BaseController.OnActionExecuted(ActionExecutedContext filterContext) in C:\MyWebsite\Controllers\BaseController.cs:36 System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +378 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +41 System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +37 System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +188 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38 System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +32 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult asyncResult) +73 System.Web.Mvc.Controller.EndExecuteCore (IAsyncResult asyncResult) +52 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38 System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +46 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult asyncResult) +73 System.Web.Mest.Sec.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +431 System.Web.HttpApplication.ExecuteStepImpl (шаг IExecutionStep) +75 System.Web.HttpApplication *ExecuteSyntete 151029 *

Информация о версии: Microsoft .NET Framework Версия: 4.0.30319;ASP.NET версия: 4.8.3928.0

...