Sitecore 8.1 MVC Castle Winsdor проблема в нескольких проектах MVC

Я реализовал одно решение, используя Sitecore 8.1 MVC, Castle Windsor и glass mapper v3.5. В этом решении у нас есть два проекта MVC, но он может содержать несколько веб-сайтов (Glass_Sample, Glass_Sample_1 и т. Д.)

Glass_Global: Вот почему глобальная / общая функциональность (замок виндзор) реализована в этом проекте и используется другим веб-сайтом (Glass_Sample). Я поместил реализацию замка Виндзор в этот проект:

и поместите файл 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_Sample: это будет первый веб-сайт в этом решении для запуска. Я добавил файл CastleWindsorConfig.cs в этот проект

public class CastleWindsorConfig
    {
        public void Process(PipelineArgs args)
        {
            WindsorContainer container = new WindsorContainer();
            container.Install(FromAssembly.This());
            GlobalConfiguration.Configuration.DependencyResolver = new WindsorDependencyResolver(container);
            container.Register(Classes.FromThisAssembly().BasedOn<IController>().LifestyleTransient());
            container.Register(Component.For<ICommon>().ImplementedBy<CommonService>().LifestyleTransient());
            IControllerFactory controllerFactory = new WindsorControllerFactory(container);
            SitecoreControllerFactory scSitecoreControllerFactory = new SitecoreControllerFactory(controllerFactory); 
            System.Web.Mvc.ControllerBuilder.Current.SetControllerFactory(scSitecoreControllerFactory);
        }
    }

Я использую контроллер рендеринга на макете домашней страницы этого сайта Glass_Sample, но при просмотре веб-сайта я получил следующую ошибку:

Я что-то пропустил?

Я поместил свой Контроллер, Интерфейс в папку Области, Это - основная причина этой ошибки?

Любое предложение?

PS

Теперь он работает. На самом деле я создал новый файл Glass_Sample.config и поместил его в папку Glass_Sample/App_Config/Include:

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

Теперь это решение может содержать несколько веб-сайтов. Следует добавить следующий подход для добавления нового веб-сайта в это решение:

  1. Добавит новый проект MVC в это решение и добавит необходимые сборки sitecore

  2. перейдите в IIS, добавьте новое приложение (GlassSampleSite1) и скопируйте папку sitecore / dlls из папки сайта GlassSample

3. Перейдите к решению, щелкните правой кнопкой мыши проект GlassSampleSite1, установите цель публикации для вновь созданной папки экземпляра GlassSampleSite1/Website и выполните публикацию.

Будет ли это работать?

0 ответов

Другие вопросы по тегам