سؤال

لقد ترحنت مشروع MVC1 إلى MVC2 RC، والآن لا يعمل الموقع على الإطلاق. أحصل على الخطأ "لم يتم العثور على نقطة الدخول."

هاجرت المشروع بعد هذا الرابط

أنا أستخدم قلعة وندسور كما di.

هنا جزء من global.asax.cs

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", "{controller}/{action}/{id}", new { controller = "Main", action = "Index", id = "" });
    }

    protected void Application_Start()
    {
        log4net.Config.XmlConfigurator.Configure();
        InitializeServiceLocator();
        //RouteConfigurator.RegisterRoutesTo(RouteTable.Routes);
        AreaRegistration.RegisterAllAreas();
        RegisterRoutes(RouteTable.Routes);

        Bootstrapper.BootStrap();
    }

    /// <summary>
    /// If you need to communicate to multiple databases, you'd add a line to this method to
    /// initialize the other database as well.
    /// </summary>
    private void InitializeNHibernateSession()
    {
        var cfg =
            NHibernateSession.Init(
                webSessionStorage,
                new string[] { Server.MapPath("~/bin/Edi.Advance.EPortfolio.Data.dll") },
                new AutoPersistenceModelGenerator().Generate(),
                Server.MapPath("~/hibernate.cfg.xml")).AddAssembly(typeof(ISoftDeletable).Assembly).AddAssembly(
                typeof(Action).Assembly);

        //cfg.SetListener(ListenerType.Delete, new AdvanceDeleteEventListener(IoC.Resolve<ISecurityContextService>()));
        //cfg.SetListener(ListenerType.SaveUpdate, new AdvanceSaveUpdateEventListener(IoC.Resolve<ISecurityContextService>()));
    }

    /// <summary>
    /// Instantiate the container and add all Controllers that derive from 
    /// WindsorController to the container.  Also associate the Controller 
    /// with the WindsorContainer ControllerFactory.
    /// </summary>
    protected virtual void InitializeServiceLocator()
    {
       // AddComponentsToIoC();
        var container = new WindsorContainer();

        ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));
        container.RegisterControllers(typeof(MainController));

        ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));

    }

MainController بسيط للغاية، وحركة الفهرس فقط إرجاع "Hello World من سلسلة MVC2". (لا توجد عرض لهذا الإجراء).

الأشياء المثيرة للاهتمام إذا كنت أعلق هذا الخط:

ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));

يعمل Maincontroller على ما يرام، ولكن من السبب، لا تعمل أجهزة التحكم الأخرى المعقدة في القول أنه لا يوجد منشئ بلا حدود.

لذلك هو طبقات هذا خطأ في windsorcontrollerolleractory.

أيه أفكار؟ شكرا

هل كانت مفيدة؟

المحلول

الاستخدام: التجاوز المحمي Icontroller GetControllerinstance (SYSTEM.WEB.ROUTING.REQUESTCENTEXTENTEXTEXTEXTEXTEXTEP

Insted of: تجاوز التشغيل المحمي Icontroller GetControllerinstance (نوع التحكم في النوع)

نصائح أخرى

يستخدم:
جولة محمية iController GetControllerinstance (SYSTEM.WEB.ROUTING.REQUESTCETTEXTEXTEXTEXTEXTEX

بدلا من:
التجاوز المحمي Icontroller GetControllerinstance (نوع التحكم في النوع)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top