Dependency injection 肯蒂科11+;WebForms PortalGene和WebObjectActivator

Dependency injection 肯蒂科11+;WebForms PortalGene和WebObjectActivator,dependency-injection,webforms,kentico,Dependency Injection,Webforms,Kentico,有没有人在Kentico 11 hotfix 24 WebForms PortalEngine网站上将DI适配器设置为HttpRuntime.WebObjectActivator 添加到Global.asaxApplication\u Start后,任何页面/管理员请求都会为我产生以下错误: [Exception: Only one page manager (CMSPageManager or CMSPortalManager) is allowed on the page.] CMS.

有没有人在Kentico 11 hotfix 24 WebForms PortalEngine网站上将DI适配器设置为
HttpRuntime.WebObjectActivator

添加到Global.asax
Application\u Start
后,任何页面/管理员请求都会为我产生以下错误:

[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
[例外:页面上只允许有一个页面管理器(CMSPageManager或CMSPortalManager)。]
CMS.PortalGene.PortalContext.set_CurrentPageManager(IPageManager值)+90
CMS.PortalEngine.Web.UI.CMSPortalManager..ctor()+210
[TargetInvocationException:调用的目标已引发异常。]
System.RuntimeMethodHandle.InvokeMethod(对象目标、对象[]参数、签名符号、布尔构造函数)+0
System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr、Binder Binder、Object[]参数、CultureInfo区域性)+328
Unity.Processors.c\uu在c:\projects\Unity\Container\src\Processors\Constructor\ConstructorResolution.cs:79中显示Class16\u 0.b\u0(BuilderContext&c)
Unity.Processors.c\uu在c:\projects\Unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162中显示Class8\u 0.b\u0(BuilderContext&c)
Unity.Processors.c\uu在c:\projects\Unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162中显示Class8\u 0.b\u0(BuilderContext&c)
Unity.Processors.c\uu在c:\projects\Unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162中显示Class8\u 0.b\u0(BuilderContext&c)
Unity.c\u在c:\projects\Unity\Container\src\UnityContainer.Resolution.cs:271中显示Class111\u 0.b\u 0(BuilderContext&c)
C:\projects\Unity\Container\src\Strategies\buildplantstrategy.cs:88中的Unity.Strategies.buildplantstrategy.prebuild(BuilderContext和context)
c:\projects\Unity\Container\src\UnityContainer.Resolution.cs:420中的Unity.c.b\u 73\u 2(BuilderStrategy[]链、BuilderContext和context)
C:\projects\Unity\Container\src\Builder\Context\BuilderContext.cs:177中的Unity.Builder.BuilderContext.Resolve(类型、字符串名称、内部注册)
C:\projects\Unity\Container\src\Builder\Context\BuilderContext.cs:44中的Unity.Builder.BuilderContext.Resolve(类型、字符串名称)
C:\projects\Unity\Container\src\Builder\Context\BuilderContext.cs:217中的Unity.Builder.BuilderContext.Resolve(ParameterInfo参数,对象值)
Unity.Processors.c_uuu在c:\projects\Unity\Container\src\Processors\Parameters\ParametersProcessor.cs:121中显示Class7_0.b_u0(BuilderContext和context)
Unity.Processors.c\uu在c:\projects\Unity\Container\src\Processors\Constructor\ConstructorResolution.cs:77中显示Class16\u 0.b\u0(BuilderContext&c)
Unity.Processors.c\uu在c:\projects\Unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162中显示Class8\u 0.b\u0(BuilderContext&c)
Unity.Processors.c\uu在c:\projects\Unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162中显示Class8\u 0.b\u0(BuilderContext&c)
Unity.Processors.c\uu在c:\projects\Unity\Container\src\Processors\Abstracts\MemberProcessor.cs:162中显示Class8\u 0.b\u0(BuilderContext&c)
Unity.c\u在c:\projects\Unity\Container\src\UnityContainer.Resolution.cs:271中显示Class111\u 0.b\u 0(BuilderContext&c)
C:\projects\Unity\Container\src\Strategies\buildplantstrategy.cs:80中的Unity.Strategies.buildplantstrategy.prebuild(BuilderContext和context)
c:\projects\Unity\Container\src\UnityContainer.Resolution.cs:361中的Unity.c.b\u 73\u 1(BuilderContext和context)
C:\projects\Unity\Container\src\UnityContainer.IUnityContainer.Resolve(类型、字符串名称、ResolverOverride[]覆盖)中的Unity.UnityContainer.Unity.IUnityContainer.Resolve(类型、字符串名称、ResolverOverride[]覆盖)
C:\projects\Unity\Abstractions\src\Extensions\container\UnityContainer.cs:913中的Unity.UnityContainerExtensions.Resolve(IUnityContainer容器,类型t,ResolverOverride[]覆盖)
C:\GitHub\personal\HouseofCat.DependencyInjection.WebForms.Unity\ContainerServiceProvider.GetService(类型serviceType)中的HouseofCat.DependencyInjection.WebForms.Unity\ContainerServiceProvider.cs:49
C:\GIT\tests\KenticoTests\CMS\cmspages\portaltemplate\u aspx.\uu BuildControlplcRoot()中的ASP.cmspages\u portaltemplate\u aspx:0
C:\GIT\tests\KenticoTests\CMS\cmspages\portaltemplate\u aspx.\uu BuildControlform()中的ASP.cmspages\u portaltemplate\u aspx.aspx:13
ASP.cmspages\u portaltemplate\u aspx.\u构建控制树(cmspages\u portaltemplate\u aspx\u ctrl),位于C:\GIT\tests\KenticoTests\CMS\cmspages\portaltemplate.aspx:1
ASP.cmspages\u portaltemplate\u aspx.FrameworkInitialize()+54
System.Web.UI.Page.ProcessRequest(布尔值includeStagesBeforeAsyncPoint,布尔值IncludeStagesSafteraSyncpoint)+48
System.Web.UI.Page.ProcessRequest()+76
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext上下文)+24
System.Web.UI.Page.ProcessRequest(HttpContext上下文)+62
ASP.cmspages\u portaltemplate\u aspx.ProcessRequest(HttpContext上下文)+48
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+195
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)+50
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+73
如果我不添加适配器,我就不会得到任何错误,我真的不知道为什么已经初始化了
PortalContext.CurrentPageManager
,以便在构建页面/控件时抛出该错误

如果您能帮我弄清真相,我们将不胜感激

更新1

应用程序_Start只是使用这个扩展方法:添加容器


我还没有添加任何注册,只有
IUnityContainer
在容器中注册。

如果您希望在Kentico上使用DI和
HttpRuntime.WebObjectActivator
,您将需要Kentico 12+。

我能够让WebForms依赖项注入与Kentico 11.0一起工作

最初我安装了MicrosoftsNuget软件包

但是,

由于统一的突破性变化