【发布时间】:2013-04-01 12:09:25
【问题描述】:
我是 Sitecore 开发的新手,如果这个问题是基本问题,我深表歉意。我已经创建了一个代理(计划任务)和一个 WCF 服务,并将它们都添加到我的 SiteCore 项目中。代理调用 WCF 服务代码调用的相同代码。
我遇到的问题是,当我调用 Database.Template[ID template] 并传入我要处理的项目的相应模板的 ID 容器时,它在代理任务中工作,但在 WCF 服务中不起作用。
在 WCF 服务中对Database.Template[ID id] 的任何调用都会给我一个NullReferenceException,但是代理内部完全相同的调用会正确收集模板。
这是由于某些结构性原因,依赖于调用应用程序是网页而不是 Web 服务吗?
编辑 #1:我将 svc 作为允许的扩展名,并且我都尝试过
Sitecore.Configuration.Factory.GetDatabase("master")
和
var siteContext = Sitecore.Configuration.Factory.GetSite("websiteMaster");
siteContext.Database.Template[];
两者都返回NullReferenceException。
我也可以使用GetItem 成功获取一个项目,但是当我尝试访问该项目的模板属性时,我得到一个NullReferenceException。
【问题讨论】: