如何在Orchard中获取CurrentSite对象?

最终,我想做的是访问,CacheSettingsPart以便可以以编程方式将一些被忽略的URL添加到输出缓存配置中。

相关的管理员已经通过以下方式实现了这一目标:

   var settings = Services.WorkContext.CurrentSite.As<CacheSettingsPart>();
   settings.IgnoredUrls = model.IgnoredUrls;

我需要为我自己的方法类似,但是当我尝试和注射IOrchardServicesWorkContextnull,这意味着我没有访问CurrentSite

我需要使用替代方法或理想情况下实现CurrentSite/CacheSettingsPart修改我的方法的建议IgnoredUrls

编辑

var query = Services.ContentManager.Query<CacheSettingsPart>();
var cacheSettingsPart = query.List().First();

以上似乎给了我我需要的东西,现在我将测试修改是否IgnoredUrls持续。

大卫·康沃尔

据我所知,尚未在运行迁移时创建WorkContext。

您可以按照建议的方式获得第一个SettingsPart-它可能不用于当前站点,但是如果您有多个租户,那么我认为您可能会遇到麻烦。

一种替代方法是注入ISiteService您的迁移类。

然后你可以做

var site = _siteService.GetSiteSettings();
var cacheSettings = site.As<CacheSettingsPart>();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Orchard中获取用户创建日期?

来自分类Dev

如何在Orchard视图覆盖中获取夏季图像URL

来自分类Dev

如何在Orchard中获取用户创建日期?

来自分类Dev

如何在Orchard CMS中从数据库中获取表数据?

来自分类Dev

如何在Orchard CMS中从数据库中获取表数据?

来自分类Dev

如何在lodash中获取普通对象?

来自分类Dev

如何在FlowDocument中获取元素/对象?

来自分类Dev

如何在TList中获取TList的对象?

来自分类Dev

如何在查询中获取查询对象?

来自分类Dev

如何在Typescript中获取对象的值

来自分类Dev

如何在Java中获取图形对象?

来自分类Dev

如何在JS对象中获取价值?

来自分类Dev

如何在php中获取扩展对象?

来自分类Dev

如何在Realm中获取父对象

来自分类Dev

如何在Java对象中获取值?

来自分类Dev

如何在CreateView中获取创建的对象

来自分类Dev

如何在geodjango中获取重叠的对象?

来自分类Dev

如何在 PHP 中获取对象的值

来自分类Dev

如何在 vscode 扩展中获取对象?

来自分类Dev

如何在C#中获取对象的子对象?

来自分类Dev

如何在DataExtension对象中获取has_many对象?

来自分类Dev

如何在Java中获取对象的父对象引用?

来自分类Dev

如何在对象中获取数组对象

来自分类Dev

如何在PHP中获取数组对象的对象

来自分类Dev

如何在对象javascript中获取对象的名称

来自分类Dev

如何在映射函数中获取对象的键名对象

来自分类Dev

如何在 JavaScript 中获取对象的对象名称

来自分类Dev

如何从Orchard CMS中的分配的contentpart中获取值

来自分类Dev

如何在JS中获取数组中的每个备用对象