MvcSiteMapProvider icon indicating copy to clipboard operation
MvcSiteMapProvider copied to clipboard

Can't register custom ControllerFactory

Open 7702244 opened this issue 4 years ago • 0 comments

When I'm using MvcSiteMapProvider I can't register custom ControllerFactory in Application_Start, because MvcSiteMapProvider redefines it later, so my CustomControllerFactory have no effect.

protected void Application_Start()
        {
            //Prints: System.Web.Mvc.DefaultControllerFactory
            logger.Info(ControllerBuilder.Current.GetControllerFactory().ToString());

            ControllerBuilder.Current.SetControllerFactory(new CustomControllerFactory());

            //Prints: WebApplication.Utils.CustomControllerFactory
            logger.Info(ControllerBuilder.Current.GetControllerFactory().ToString());
        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            //Prints: MvcSiteMapProvider.DI.ControllerFactoryDecorator
            logger.Info(ControllerBuilder.Current.GetControllerFactory().ToString());
        }

MvcSiteMapProvider.DI.ControllerFactoryDecorator doesn't use my CustomControllerFactory as a base.

7702244 avatar Nov 03 '19 13:11 7702244