Gre*_*g B 0 episerver episerver-7
我打电话FindPagesWithCriteria(PageReference pageLink, PropertyCriteriaCollection criterias)的注入DataFactory,我得到一个NullReferenceException在DefaultPageCriteriaQueryService.GetProviderQueryService():
[NullReferenceException:对象引用未设置为对象的实例.]
EPiServer.Core.DefaultPageCriteriaQueryService.GetProviderQueryService(ContentProvider provider)+44
EPiServer.Core.DefaultPageCriteriaQueryService.FindPagesWithCriteriaInternal(PageReference pageLink,PropertyCriteriaCollection criterias,String languageBranch,ILanguageSelector selector,FindPagesWithCriteriaDelegate findPagesDelegate )+293
EPiServer.Core.DefaultPageCriteriaQueryService.FindPagesWithCriteria(PageReference pageLink,PropertyCriteriaCollection Criterias,String languageBranch,ILanguageSelector selector)+124
EPiServer.DataFactory.FindPagesWithCriteria(PageReference pageLink,PropertyCriteriaCollection standarderias)+115
...
我已经连接了Episerver符号服务器并逐步完成了代码,深入了解DefaultPageCriteriaQueryService我可以看到ContentProvider传入的GetProviderQueryService()是null,导致NRE.调用此方法的行是这样的:
case TypeOfSearch.Local:
return findPagesDelegate(pageLink, tempCriteria, languageBranch, selector, this.GetProviderQueryService(this._providerManager.ProviderMap.GetDefaultProvider()));
Run Code Online (Sandbox Code Playgroud)
罪魁祸首是_providerManager.ProviderMap.GetDefaultProvider()返回null因为_providerManager.ProviderMap是空的.我之前从未遇到过这个问题,如果应该初始化,我找不到有关ProviderMap的任何相关信息.
为什么我会遇到这个问题?为什么我的ProviderMap为空?我的ProviderMap应该有默认提供商吗?
小智 5
我不认为你可以注入DataFactory,因为它是一个单例.但是你可以注入EPiServer.Core.IPageCriteriaQueryService哪种FindPagesWithCriteria方法.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |