如何在Add-On AfterInstall事件中获取SiteDefinition.Current

时间:2017-08-08 07:24:39

标签: c# episerver

我们正试图在SiteDefinition.Current时访问AfterInstall()。我们需要的是SiteUrlId,但似乎在此次活动时它们无法使用。

我们如何推迟调用AfterInstall或其他方式,我们是否可以在AfterInstall中附加一个事件监听器,该监听器可以在以后的管道中为我们提供数据以及如何?

课程装饰如下:

[InitializableModule]
[ModuleDependency(typeof(EPiServer.Packaging.PackageInitializer))]
public class ModulePackageInitializer : PackageInitializer

更新 在AfterInstall事件期间,未设置当前SiteDefinition。这意味着您必须改为使用SiteDefinition存储库:

var siteDefinitionRepository = 
ServiceLocator.Current.GetInstance<SiteDefinitionRepository>();
var siteDefinitions = siteDefinitionRepository.List().ToList();

然后迭代并获取值。

0 个答案:

没有答案