В прошлом у меня был большой опыт работы с Umbraco 6 и Windsor Castle в качестве IoC. После более чем одного года, не работающего с Umbraco, я подумал, что посмотрим, что у меня есть в магазине (мне нравится backoffice!)Windsor IoC с Umbraco 7.2.1
После создания нового проекта и использования NuGet для установки Umbraco 7.2.1 я решил реализовать замок Виндзор по моему опыту в прошлом.
После установки IoC и настройки installconfig мой backoffice больше не загружается! См. Следующую ошибку:
Castle.MicroKernel.ComponentNotFoundException was unhandled by user code HelpLink=groups.google.com/group/castle-project-users HResult=-2146233088 Message=No component for supporting the service Umbraco.Web.Editors.AuthenticationController was found Source=Castle.Windsor StackTrace: at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, IDictionary arguments, IReleasePolicy policy) at Castle.MicroKernel.DefaultKernel.Resolve(Type service, IDictionary arguments) at Castle.Windsor.WindsorContainer.Resolve(Type service) at Project.Composition.ObjectFactory.Resolve(Type type) in c:\Repositories\Project\1. Code\Project\Composition\ObjectFactory.cs:regel 24 at Project.Web.Composition.WindsorCompositionRoot.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType) in c:\Repositories\Project\1. Code\Project.web\Composition\WindsorCompositionRoot.cs:regel 22 at System.Web.Http.Controllers.HttpControllerDescriptor.CreateController(HttpRequestMessage request) at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncInternal(HttpRequestMessage request, CancellationToken cancellationToken) at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) InnerException: null
Я просто не могу понять, что происходит или в чем проблема. У меня это есть только при загрузке backoffice. Он сбой уже на экране inlog. Я уже пробовал несколько вещей: Umbraco MVC with Castle Windsor https://gist.github.com/florisrobbemont/5821863 Но я просто не могу понять это.
редактировать 04-02-2015 ---->
Это https://gist.github.com/florisrobbemont/5821863 более или менее то, что я! Что вы хотите увидеть больше? Мой web.config установщики?
Это мой загрузочный класс:
public class UmbracoBoot : IApplicationEventHandler
{
internal static IWindsorContainer Container;
public void OnApplicationInitialized(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
umbracoApplication.Disposed += umbracoApplication_Disposed;
}
void umbracoApplication_Disposed(object sender, System.EventArgs e)
{
Application.Stop();
}
protected void ApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
Container = new WindsorContainer()
.Install(Configuration.FromAppConfig())
.Register(Classes.FromThisAssembly().BasedOn<IController>().LifestyleTransient());
FilteredControllerFactoriesResolver.Current.InsertType<UmbracoFilteredControllerFactory>(0);
}
public void OnApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
RouteConfig.Register();
FilterConfig.Register();
BundleConfig.Register();
}
public void OnApplicationStarting(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
Application.Create();
FilteredControllerFactoriesResolver.Current.InsertType<UmbracoFilteredControllerFactory>(0);
DependencyResolver.SetResolver(new WindsorDependencyResolver(Application.ObjectFactory));
GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new WindsorCompositionRoot(Application.ObjectFactory));
Application.Start();
}
}
«настройка installconfig» Не могли бы вы уточнить? Покажите нам код/config? Проблема в том, что Castle Windsor не находит регистрацию, поэтому я предполагаю, что, возможно, вы не настраиваете все компоненты. – samy
Я добавил свой класс загрузки, вам нужно что-то еще? Я в основном использовал эту ссылку https://gist.github.com/florisrobbemont/5821863 – Melvin
Также, когда я перехожу на страницу, я как дома или что-то еще, IoC работает как шарм, но когда я перехожу к/umbraco/он падает ! – Melvin