Кто-нибудь имел успех в установке адаптера DI на HttpRuntime.WebObjectActivator
на сайте исправления Kentico 11 24 WebForms PortalEngine?
С добавлением https://www.nuget.org/packages/DependencyInjection.WebForms.Unity/ на Global.asax Application_Start
любойЗапрос page / admin вызывает для меня следующую ошибку:
[Exception: Only one page manager (CMSPageManager or CMSPortalManager) is allowed on the page.]
CMS.PortalEngine.PortalContext.set_CurrentPageManager(IPageManager value) +90
CMS.PortalEngine.Web.UI.CMSPortalManager..ctor() +210
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +328
Unity.Processors.<>c__DisplayClass16_0.<GetResolverDelegate>b__0(BuilderContext& c) in C:\projects\unity\Container\src\Processors\Constructor\ConstructorResolution.cs:79
Unity.Processors.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c) in C:\projects\unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162
Unity.Processors.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c) in C:\projects\unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162
Unity.Processors.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c) in C:\projects\unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162
Unity.<>c__DisplayClass111_0.<OptimizingFactory>b__0(BuilderContext& c) in C:\projects\unity\Container\src\UnityContainer.Resolution.cs:271
Unity.Strategies.BuildPlanStrategy.PreBuildUp(BuilderContext& context) in C:\projects\unity\Container\src\Strategies\BuildPlanStrategy.cs:88
Unity.<>c.<.ctor>b__73_2(BuilderStrategy[] chain, BuilderContext& context) in C:\projects\unity\Container\src\UnityContainer.Resolution.cs:420
Unity.Builder.BuilderContext.Resolve(Type type, String name, InternalRegistration registration) in C:\projects\unity\Container\src\Builder\Context\BuilderContext.cs:177
Unity.Builder.BuilderContext.Resolve(Type type, String name) in C:\projects\unity\Container\src\Builder\Context\BuilderContext.cs:44
Unity.Builder.BuilderContext.Resolve(ParameterInfo parameter, Object value) in C:\projects\unity\Container\src\Builder\Context\BuilderContext.cs:217
Unity.Processors.<>c__DisplayClass7_0.<CreateParameterResolvers>b__0(BuilderContext& context) in C:\projects\unity\Container\src\Processors\Parameters\ParametersProcessor.cs:121
Unity.Processors.<>c__DisplayClass16_0.<GetResolverDelegate>b__0(BuilderContext& c) in C:\projects\unity\Container\src\Processors\Constructor\ConstructorResolution.cs:77
Unity.Processors.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c) in C:\projects\unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162
Unity.Processors.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c) in C:\projects\unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162
Unity.Processors.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c) in C:\projects\unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162
Unity.<>c__DisplayClass111_0.<OptimizingFactory>b__0(BuilderContext& c) in C:\projects\unity\Container\src\UnityContainer.Resolution.cs:271
Unity.Strategies.BuildPlanStrategy.PreBuildUp(BuilderContext& context) in C:\projects\unity\Container\src\Strategies\BuildPlanStrategy.cs:80
Unity.<>c.<.ctor>b__73_1(BuilderContext& context) in C:\projects\unity\Container\src\UnityContainer.Resolution.cs:361
Unity.UnityContainer.Unity.IUnityContainer.Resolve(Type type, String name, ResolverOverride[] overrides) in C:\projects\unity\Container\src\UnityContainer.IUnityContainer.cs:244
Unity.UnityContainerExtensions.Resolve(IUnityContainer container, Type t, ResolverOverride[] overrides) in C:\projects\unity\Abstractions\src\Extensions\Container\UnityContainer.cs:913
HouseofCat.DependencyInjection.WebForms.Unity.ContainerServiceProvider.GetService(Type serviceType) in C:\GitHub\personal\HouseofCat.DependencyInjection.WebForms.Unity\ContainerServiceProvider.cs:49
ASP.cmspages_portaltemplate_aspx.__BuildControlplcRoot() in C:\GIT\tests\KenticoTests\CMS\CMSPages\PortalTemplate.aspx:0
ASP.cmspages_portaltemplate_aspx.__BuildControlform() in C:\GIT\tests\KenticoTests\CMS\CMSPages\PortalTemplate.aspx:13
ASP.cmspages_portaltemplate_aspx.__BuildControlTree(cmspages_portaltemplate_aspx __ctrl) in C:\GIT\tests\KenticoTests\CMS\CMSPages\PortalTemplate.aspx:1
ASP.cmspages_portaltemplate_aspx.FrameworkInitialize() +54
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +48
System.Web.UI.Page.ProcessRequest() +76
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +24
System.Web.UI.Page.ProcessRequest(HttpContext context) +62
ASP.cmspages_portaltemplate_aspx.ProcessRequest(HttpContext context) +48
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +195
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +50
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +73
Если я не добавляю адаптер, я не получаю никакой ошибки, я не могу точно сказать, почему PortalContext.CurrentPageManager
уже инициализирован для негосбросить эту ошибку, когда страница / элементы управления создаются.
Любая помощь, доходящая до сути, будет принята с благодарностью.
Обновление 1
Application_Start просто использует этот метод расширения: https://github.com/houseofcat/DependencyInjection.WebForms.Unity/blob/master/src/HttpApplicationExtensions.cs#L19 для добавления контейнера.
Я еще не добавил ни одной регистрации, только IUnityContainer
зарегистрирован в контейнере.