diff --git a/Oqtane.Server/Infrastructure/Options/SiteOptionsFactory.cs b/Oqtane.Server/Infrastructure/Options/SiteOptionsFactory.cs index 05236eb7..f68ed438 100644 --- a/Oqtane.Server/Infrastructure/Options/SiteOptionsFactory.cs +++ b/Oqtane.Server/Infrastructure/Options/SiteOptionsFactory.cs @@ -11,13 +11,15 @@ namespace Oqtane.Infrastructure private readonly IConfigureOptions[] _configureOptions; private readonly IPostConfigureOptions[] _postConfigureOptions; private readonly ISiteOptions[] _siteOptions; + private readonly ISiteNamedOptions[] _siteNamedOptions; private readonly IHttpContextAccessor _accessor; - public SiteOptionsFactory(IEnumerable> configureOptions, IEnumerable> postConfigureOptions, IEnumerable> siteOptions, IHttpContextAccessor accessor) + public SiteOptionsFactory(IEnumerable> configureOptions, IEnumerable> postConfigureOptions, IEnumerable> siteOptions, IEnumerable> siteNamedOptions, IHttpContextAccessor accessor) { _configureOptions = configureOptions as IConfigureOptions[] ?? new List>(configureOptions).ToArray(); _postConfigureOptions = postConfigureOptions as IPostConfigureOptions[] ?? new List>(postConfigureOptions).ToArray(); _siteOptions = siteOptions as ISiteOptions[] ?? new List>(siteOptions).ToArray(); + _siteNamedOptions = siteNamedOptions as ISiteNamedOptions[] ?? new List>(siteNamedOptions).ToArray(); _accessor = accessor; } @@ -44,6 +46,11 @@ namespace Oqtane.Infrastructure { siteOption.Configure(options, _accessor.HttpContext.GetAlias(), _accessor.HttpContext.GetSiteSettings()); } + + foreach (var siteNamedOption in _siteNamedOptions) + { + siteNamedOption.Configure(name, options, _accessor.HttpContext.GetAlias(), _accessor.HttpContext.GetSiteSettings()); + } } // post configuration