我们正试图在SiteDefinition.Current
时访问AfterInstall()
。我们需要的是SiteUrl
和Id
,但似乎在此次活动时它们无法使用。
我们如何推迟调用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();
然后迭代并获取值。