0

我正在为当前项目使用 Sitecore 直接访问 API。我有时会遇到我想要一个调用 Sitecore 的独立程序集的情况,而不一定是在 Web 上下文中。有没有任何方法可以访问 Sitecore 上下文而无需在网站中部署代码?

当然有大量的配置设置。到目前为止,我试图欺骗 Web 上下文并提供必要的设置都失败了。是否有关于需要执行哪些特定步骤来加载全局对象以及执行通常由 Sitecore 请求处理/管道处理完成的所有其他操作的文档?

4

1 回答 1

2

如果您不想走 web 服务路线,这篇博文描述了设置一个类库项目来访问 Sitecore 信息。在这种情况下,它用于 NUnit 测试,但我相信技术是相同的。

总而言之,它涉及将 Sitecore web.config 信息复制到 app.config 文件(连同其他配置文件),引用相关的 Sitecore 程序集并进行一些配置调整以修复对 App_Config 文件夹的引用。

请注意,使用此技术时,您的Sitecore.Context.Item值为 null,因此您可能需要通过它们的路径或 Id 直接访问项目,例如

var db = Sitecore.Configuration.Factory.GetDatabase("master");

var homeItem = db.GetItem("/sitecore/content/home");
//or
var homeItem = db.GetItem(new Sitecore.Data.ID("<your GUID here>"));
于 2013-07-18T15:42:57.737 回答