Dependency injection Sitecore 8.1 MVC castle winsdor在多个MVC项目中出现问题

Dependency injection Sitecore 8.1 MVC castle winsdor在多个MVC项目中出现问题,dependency-injection,sitecore,sitecore-mvc,castle-windsor-3,Dependency Injection,Sitecore,Sitecore Mvc,Castle Windsor 3,我已经使用Sitecore 8.1 MVC、Castle Windsor和glass mapper v3.5实现了一个解决方案。在这个解决方案中,我们有两个MVC项目,但它可能包含多个网站(Glass_Sample、Glass_Sample_1等等) Glass\u Global:这就是为什么在本项目中实施了全局/通用功能(castle windsor)并被其他网站使用(Glass\u Sample)。我将castle windsor实施放在本项目中: 并将Glass_Global.confi

我已经使用Sitecore 8.1 MVC、Castle Windsor和glass mapper v3.5实现了一个解决方案。在这个解决方案中,我们有两个MVC项目,但它可能包含多个网站(Glass_Sample、Glass_Sample_1等等)

Glass\u Global:这就是为什么在本项目中实施了全局/通用功能(castle windsor)并被其他网站使用(Glass\u Sample)。我将castle windsor实施放在本项目中:

并将Glass_Global.config文件放入App_config/Include文件夹中

<pipelines>
      <initialize>
        <processor type="Glass_Global.Pipelines.CastleWindsor.CastleWindsorConfig, Glass_Global" />
        <processor type="Glass_Sample.Pipelines.CastleWindsor.CastleWindsorConfig, Glass_Sample" />
      </initialize>
 </pipelines>

Glass\u示例:这将是此解决方案中启动的第一个网站。我已在该项目中添加了CastleWindsorConfig.cs文件

public类CastleWindsorConfig
{
公共作废流程(PipelineArgs args)
{
WindsorContainer容器=新WindsorContainer();
container.Install(fromsassembly.This());
GlobalConfiguration.Configuration.DependencyResolver=新的WindSordDependencyResolver(容器);
Register(Classes.fromthissembly().BasedOn().LifestyleTransient());
container.Register(Component.For().ImplementedBy().LifestyleTransient());
IControllerFactory controllerFactory=新WindsorController工厂(容器);
SitecoreControllerFactory scSitecoreControllerFactory=新的SitecoreControllerFactory(controllerFactory);
System.Web.Mvc.ControllerBuilder.Current.SetControllerFactory(scSitecoreControllerFactory);
}
}
我在Glass_示例网站的主页布局上使用控制器渲染,但当我浏览该网站时,出现以下错误:

我错过什么了吗

我把我的控制器、接口放在区域文件夹内,这是这个错误的根本原因吗

有什么建议吗

PS

它现在正在工作。实际上,我创建了一个新的Glass\u Sample.config文件,并将其放入Glass\u Sample/App\u config/Include文件夹中:

<pipelines>
      <initialize>
        <processor type="Glass_Sample.Pipelines.CastleWindsor.CastleWindsorConfig, Glass_Sample" />
      </initialize>
 </pipelines>

现在,此解决方案可能包含多个网站。我是否应按照以下方法在此解决方案中添加新网站:

  • 将在此解决方案中添加新的MVC项目,并添加所需的sitecore程序集

  • 转到IIS,添加新应用程序(GlassSampleSite1),并从GlassSample网站文件夹复制sitecore文件夹/DLL

  • 3.转到解决方案,右键单击GlassSampleSite1项目,将发布目标设置为新建实例GlassSampleSite1/网站文件夹并进行发布


    这行得通吗?

    你发布了你的项目/数据源项目吗?在我将Glass\u Sample.config文件添加到Glass\u Sample/App\u config/Include文件夹中后,这个问题得到了解决。你能看看我问题的底部吗。
    <pipelines>
          <initialize>
            <processor type="Glass_Sample.Pipelines.CastleWindsor.CastleWindsorConfig, Glass_Sample" />
          </initialize>
     </pipelines>