Sitecore Glass Mapper某些模型属性上的空引用异常

时间:2015-06-21 21:18:36

标签: sitecore sitecore7 glass-mapper sitecore-mvc

我升级到GlassMapper版本4.0.1.8并且我遇到了一些模型属性的奇怪行为。

我所有的模型都是由TDS生成的,大多数都可以正常使用。在一个模型上,Glass Mapper在一个特定属性和基础模型中的所有属性上抛出了一个空引用异常。对于模型的所有属性设置延迟加载为false后,问题就消失了......

然而,之后我在所有模型属性上设置了SitecoreFieldSettings.DontLoadLazily,因为它们都是由TDS生成的,但是现在不同模型的另一个属性给了我相同的异常,并且此属性也不是延迟加载的。

这是一个例外:

Exception: System.NullReferenceException 
Message: Object reference not set to an instance of an object. 
Source: Glass.Mapper 
at Glass.Mapper.AbstractService.InstantiateObject(AbstractTypeCreationContext abstractTypeCreationContext) 
at Glass.Mapper.Pipelines.ObjectConstruction.Tasks.CreateConcrete.LazyObjectInterceptor.Intercept(IInvocation invocation) 
at Castle.DynamicProxy.AbstractInvocation.Proceed() 
at Castle.Proxies.ListitemLinkProxy.get_Link() 
at ASP._Page_Views_MyProject_Pages_MyPage_cshtml.Execute() in c:\mycode.cshtml:line 86 
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() 
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() 
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) 
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) 
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) 
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) 
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) 

1)为什么Glass mapper会在某些字段上抛出此异常,如果它们是延迟加载的?

2)为什么我在延迟加载第一个模型的字段后,在延迟加载的不同字段上得到相同的异常?

0 个答案:

没有答案